使用C语言样式的文件操作函数,需要包含stdio.h头文件。
1.打开文件的函数:
1 //oflag的取值为“w”或“r”,分别表示以写或读的方式打开
2 FILE* fd = fopen(filename.c_str(), oflag);
2.写文件的函数原型:
size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream );
其中buffer是需要向文件中写入的内容在内存中的首地址指针,size是待写入内容的每个元素的字节数,count是要写多少个元素,stream 是文件指针,示例如下:
1 FILE * fp;
2 fp = fopen("filename", "wb")
3 int a[3] = {1,2,3};
4 fwrite(a, sizeof(int), 3, fp);
5 fclose(fp);
3.读文件函数的原型与写文件非常类似:
size_t fread(const void* buffer, size_t size, size_t count, FILE* stream );
4.获取文件信息的函数:
1 struct stat statbuf;
2 fstat(fileno(fp), &statbuf);
得到的statbuf便是包含文件信息的结构体,如statbuf.st_size是获取文件的大小
5.移动文件位置指针函数原型:
int fseek(FILE *fp,long offset,int origin);
第一个参数file指针;第二个参数移动的偏移量;第三个参数从那里开始移动,分别用3个宏 SEEK_SET (0)表示文件开头, SEEK_CUR (1)表示文件当前位置, SEEK_END(2)表示文件结尾 (不推荐用数字,最好用宏)
6.不要忘了关闭文件哦:
fclose(fp);