新手~存到txt文件里面的16进制数与数组中的不同,不知咋回事?求高手!
新手求助~~~~~存到txt文件里面的16进制数与数组中的不同,不知怎么回事?求高手!!
程序是这样的:
//将数组存成txt文档
int k;
FILE *fp;
if((fp=fopen("E:\\receivedata.txt","w+"))!=NULL)
{
for(k=21; k<length; k++)
{
fprintf(fp,"%x ",receivedata[k]);
}
fclose(fp);
}
else
{
MessageBox("写文件 receivedata.txt 失败!", "错误");
//printf("写文件 a.txt 失败!\n"); //控制台程序使用这行
}
receivedata[]中的比如是{90 eb 01 02 00 56...},
在文档中收到的是{ffffff90 ffffffeb 1 2 0 56...}发现大于7的前面都加ffffff了,第一个是0的,0都没有了(01,02变成1,2)
不知道是怎么回事~
求高手!!!!
------解决方案--------------------
估计是你数组里的数有问题,或者下标不对应
------解决方案--------------------
receivedata[]什么类型的?? 用unsigned系列比较好
memset过没?
程序是这样的:
//将数组存成txt文档
int k;
FILE *fp;
if((fp=fopen("E:\\receivedata.txt","w+"))!=NULL)
{
for(k=21; k<length; k++)
{
fprintf(fp,"%x ",receivedata[k]);
}
fclose(fp);
}
else
{
MessageBox("写文件 receivedata.txt 失败!", "错误");
//printf("写文件 a.txt 失败!\n"); //控制台程序使用这行
}
receivedata[]中的比如是{90 eb 01 02 00 56...},
在文档中收到的是{ffffff90 ffffffeb 1 2 0 56...}发现大于7的前面都加ffffff了,第一个是0的,0都没有了(01,02变成1,2)
不知道是怎么回事~
求高手!!!!
------解决方案--------------------
估计是你数组里的数有问题,或者下标不对应
------解决方案--------------------
receivedata[]什么类型的?? 用unsigned系列比较好
memset过没?