FILE *sf;
sf = fopen("G://2.txt", "rb");
int n;
unsigned char buf[16];
unsigned long count = 0;
while((n = fread(buf, sizeof(char), 16, sf)) > 0) {
int i;
printf("%08lx ", count);
for(i=0; i<n; i++) {
printf("%02x ", (unsigned)buf[i]);
}
if(n < 16) {
for(i=n; i<16; i++) printf(" ");
}
for(i=0; i<n; i++) {
putchar(isprint(buf[i]) ? buf[i] : '.');
}
putchar('\n');
count += 16;
}
fclose(sf);
本文介绍了一个使用C语言实现的文件读取示例,通过fread函数逐块读取文件内容,并将其转换为十六进制形式输出,同时显示可打印字符。这种方法适用于查看或分析二进制文件的数据结构。
3398





