64,683
社区成员
发帖
与我相关
我的任务
分享
unsigned char buf[BUFSIZ];
int i,j,ret,bytesPerLine = 10;
fread(buf,1,sizeof(buf),fp);
for (i=0;i<ret/bytesPerLine;i++)
{
for(j=0;j<bytesPerLine;j++)
printf("%02X ",buf[i*bytesPerLine+j]);
putchar('\n');
}
for(j=0;j<ret%bytesPerLine;j++)
printf("%02X ",buf[j]);
putchar('\n');
[/quote]
ret是总数吧?试过了,可以用,谢谢!不知道数据编码格式与加密方式,就无法用c++变成打开查看正确信息,是吧?[/quote]
是的
unsigned char buf[BUFSIZ];
int i,j,ret,bytesPerLine = 10;
fread(buf,1,sizeof(buf),fp);
for (i=0;i<ret/bytesPerLine;i++)
{
for(j=0;j<bytesPerLine;j++)
printf("%02X ",buf[i*bytesPerLine+j]);
putchar('\n');
}
for(j=0;j<ret%bytesPerLine;j++)
printf("%02X ",buf[j]);
putchar('\n');
[/quote]
ret是总数吧?试过了,可以用,谢谢!不知道数据编码格式与加密方式,就无法用c++变成打开查看正确信息,是吧?
unsigned char buf[BUFSIZ];
int i,j,ret,bytesPerLine = 10;
fread(buf,1,sizeof(buf),fp);
for (i=0;i<ret/bytesPerLine;i++)
{
for(j=0;j<bytesPerLine;j++)
printf("%02X ",buf[i*bytesPerLine+j]);
putchar('\n');
}
for(j=0;j<ret%bytesPerLine;j++)
printf("%02X ",buf[j]);
putchar('\n');
#include "stdio.h"
#include <stdlib.h>
int average(char *pFilePath);
void main()
{
FILE *fp;
int nData[10];
for(int i=0;i<10;i++)
{
printf("请输入第%d个数:",i+1);
scanf("%d",nData+i);
}
fp = fopen("c:\\data.txt", "wb");//b表示以二进制的形式写入文件
if(fp!=NULL)
{
fwrite(nData,sizeof(int),10,fp);
fclose(fp);
//写完文件后,可以看一下文件大小,40个字节,
//其实就是数组的大小 sizeof(int)*10 = 40 以前在学校里没搞明白的问题,现在明白了
}
printf("平均值大小:%d\n",average("c:\\data.txt") );
system("pause");
}
int average(char *pFilePath)
{
int nData[10]={0};
FILE *fp;
fp = fopen(pFilePath, "rb");//b表示以二进制的形式
if(fp!=NULL)
{
fread(nData,sizeof(int),10,fp);
fclose(fp);
}
else
{
printf("读取文件出错了...");
return 0 ;
}
int nSum = 0 ;
for(int i=0;i<10;i++)
{
printf("第%d个数:\t内存地址%8x\t值:%d\n",i+1,nData+i,*(nData+i));
nSum += *(nData+i) ;
}
return nSum/10;
}
// http://vs2003.net
// have a look