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无法做到的。