一、
fopen: 打开文件
头文件为:#include<stdio.h>
格式:FILE * fs = fopen(const char * path, const char * mode);
path: 需要打开的文件路径。
mode: 打开文件的方式。
mode | function |
r | 以只读方式打开文件,该文件必须存在 |
w | 打开只写文件,若文件存在,则将文件长度清0,即文件内容消失,若文件不存在建立该文件 |
r+ | 以可读、写方式打开文件,该文件必须存在 |
w+ | 打开只读写文件,若文件存在,则将文件长度清0,即文件内容消失,若文件不存在则建立该文件 |
返回值:若文件打开,则返回指向该流的文件指针,如果文件打开失败,则返回为NULL,并把错误代码写在error中。
一般来说,打开文件后会执行读和写的操作,若打开失败接下来也没办法进行,所以后面一般会跟打开错误的判断及处理。
string strFileName = "DataServerConfig.xml";
FILE* fs = fopen(strFileName.c_str(), "r");
if (fs == NULL) {
LOGINFO("Error when load file[%s] not found", strFileName.c_str());
return;
}
fclose(fs);
二、
fread()函数和fwrite()函数:(用来实现对数据块的操作)
/ 读取文件块数据
size_t fread(void *buffer, size_t size, size_t count, FILE *file);
// 写入文件块数据
size_t fwrite(const void *buffer, size_t size, size_t count, FILE *file);
fread参数说明:buffer是读取数据后存放的地址,size是块的长度,count是块的数量,实际读取的长度为size*count,返回值为成功读取块的count数量
fwrite参数说明:buffer是写入数据后存放的地址,size是块的长度,count是块的数量,实际读取的长度为size*count,返回值为成功写入块的count数量。