标签:c 文件操作 io
本篇讲解使用C进行二进制文件的读写。
1,文件的写:
#include <stdio.h> #include <stdlib.h> #define FILE_PATH "txt.lib" int main() { system("color 2A"); FILE * fp = NULL; fp = fopen(FILE_PATH,"w"); if(!fp) { printf("打开文件%s失败\n",FILE_PATH); return 0; } int a = 123; fwrite(&a,sizeof(a),1,fp); fclose(fp); return 0; }
结果如下:
将上面的123读出来:
#include <stdio.h> #include <stdlib.h> #define FILE_PATH "txt.lib" int main() { system("color 2A"); FILE * fp = NULL; fp = fopen(FILE_PATH,"r"); if(!fp) { printf("打开文件%s失败\n",FILE_PATH); return 0; } int a = 0; fread(&a,sizeof(a),1,fp); printf("读取到的数据为 : %d" , a); fclose(fp); return 0; }
运行的结果为:
总结 : 二进制文件的写(使用fwrite);读(使用fread)其中第三个参数为(读/写的次数)
来一个稍微复杂一点的:
写:
#include <stdio.h> #include <stdlib.h> #define FILE_PATH "txt.lib" int main() { system("color 2A"); FILE * fp = NULL; fp = fopen(FILE_PATH,"w"); if(!fp) { printf("打开文件%s失败\n",FILE_PATH); return 0; } char names[3][50] = {"Aonaufly","Kayer","Ainy"}; fwrite(names,sizeof(names),1,fp); fclose(fp); return 0; }
结果:
读:
#include <stdio.h> #include <stdlib.h> #define FILE_PATH "txt.lib" int main() { system("color 2A"); FILE * fp = NULL; fp = fopen(FILE_PATH,"r"); if(!fp) { printf("打开文件%s失败\n",FILE_PATH); return 0; } char names[3][50] = {}; fread(names,sizeof(names),1,fp); for( int i = 0 ; i < 3 ; i++ ) { printf("第%d个名字为:%s\n" , i+1 , *(names + i)); } fclose(fp); return 0; }
读取的结果:
好,至此C的IO操作就此结束,。。。。
本文出自 “Better_Power_Wisdom” 博客,请务必保留此出处http://aonaufly.blog.51cto.com/3554853/1920679
标签:c 文件操作 io
原文地址:http://aonaufly.blog.51cto.com/3554853/1920679