#include <stdio.h>
#include <stdlib.h>
int main()
{
int data=0;
FILE *fp=fopen("D:\\software\\QT5.9.0\\MyProject\\data\\data.txt","rw+");
if(fp == NULL)
printf("File Open Failed !\n");
else
printf("File Open Success !\n");
fseek(fp,0,0);
// while ((data!=EOF)){
data=fscanf(fp,"%x",&data);
printf("%u,",data);
data=fscanf(fp,"%x",&data);
printf("%u",data);
// fseek(fp,-2,1);
// fprintf(fp,"%u,",data);
// }
fclose(fp);
return 0;
}
想把文件中的十六进制数据读出来转化为无符号数再写回去,并以逗号间隔,但发现从文件中读出来的数据有问题,始终为1
fscanf 的返回值是 读取的数据个数, data读到了,但是又被赋值为了 1,%x 只能读取一个数
把 data = 去掉
注:本文以一个例子来演示广义表的基本操作,含有一个头文件《GList.h》和一个测试源文件《main.cpp》