fwrite写文件是乱码

239 篇文章 10 订阅

fwrite写的二进制文件,所以我们打开所写的文件是乱码,但数据是正确的,我们通过fread函数按照原来的数据格式读取即可。

可以参考该文。

#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <stdlib.h>
#include <stdio.h>
int main()
{   
    DIR *dirp = opendir("/home/python/Desktop/mymy");
    if(dirp==NULL)
    {
        mkdir("/home/python/Desktop/mymy",0775); 
        perror("dirp");

    }
    else
        closedir(dirp);
    // char nn[]="hello";
    int nn = 23;
int mm;
    FILE *fp = fopen("/home/python/Desktop/mymy/xiaoming.c","w+");
      fwrite(&nn,sizeof(nn),1,fp);
//    fprintf(fp,"%d",nn);
    fclose(fp);

    exit(0);
}

文件内容: 

 程序运行结果:

 

 我们看到,虽然文件中23为乱码,但这个int数能够通过fread正确读取.

其实:fread 和fwrite函数的最常用的是将结构体直接写到文件中,并读取。

这个是fprintf,和fscanf无法做到的。

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值