#include<stdio.h>
#include<stdlib.h>
int main()
{
FILE *fpRead = fopen("data.in","rb");
FILE *fpWrite = fopen("data.o","wb");
unsigned char buf[1000];
int rc;
while((rc = fread(buf,sizeof(unsigned char), 1, fpRead))!=0)
{
fwrite( buf, sizeof(unsigned char), rc, fpWrite );
for(int i = 0; i < rc; i++)
{
printf("%x, ",buf[i]);
}
}
printf("\n");
fclose(fpRead);
fclose(fpWrite);
return 0;
}
data.in文件:按照一个字节一个字节输出(以十六进制的形式,读入时候读的是ASCII码)
FILE *fp = fopen("D:\\1.txt","rb+");
// 以二进制的形式打开文件1.txt, 如果文件不存在则返回NULL。文件以读写方式打开,可以用fp指针修改或者读取。
size_t fread(void *buf, size_t size, size_t num, FILE *stream)
rc = fread(buf,sizeof(unsigned char), 10, fpRead))
int fscanf(FILE * stream, const char * format, [argument...])
#include<stdio.h>
#include<stdlib.h>
typedef struct Student{
int age;
char name[10];
int gender;
}Stu;
int main()
{
FILE *fpRead = fopen("data.in","r");
FILE *fpWrite = fopen("data.o","w");
Stu buf[1000];
int rc;
int j = 0;
while((rc = fscanf(fpRead,"%d,%d,%s",&buf[j].age,&buf[j].gender,buf[j].name))!=EOF)
{
printf("age:%d name:%s gender:%s\n",buf[j].age,buf[j].name,buf[j].gender?"男":"女");
j++;
}
printf("\n");
fclose(fpRead);
fclose(fpWrite);
return 0;
}
读取的文件
12,1,Tom
14,0,Sara
12,1,Jack
18,0,Kate
输出:
原文:https://www.cnblogs.com/raiuny/p/14641807.html