温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C 文件操作(二)

发布时间:2020-05-18 08:15:16 来源:网络 阅读:398 作者:Aonaufly 栏目:编程语言

本篇讲解使用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;
}

结果如下:

C 文件操作(二)

将上面的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;
}

运行的结果为:

C 文件操作(二)

总结 : 二进制文件的写(使用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;
}

结果:

C 文件操作(二)

读:

#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 文件操作(二)


好,至此C的IO操作就此结束,。。。。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI