本篇讲解使用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操作就此结束,。。。。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。