0
点赞
收藏
分享

微信扫一扫

C语言 将文件内容转换成Dump文件数据格式

isprint函数:

头文件

原型

说明

返回值

#include <ctype.h>

int isprint(int c);

判断字符c是否为可打印字符(含空格)。

若判断成功则返回0以外的值(真),否则返回0。

#include <stdio.h>
#include <ctype.h>

int&nbsp;main(void){
int&nbsp;n;
unsigned&nbsp;long&nbsp;count&nbsp;=&nbsp;0;
unsigned&nbsp;char&nbsp;buf[16];
FILE&nbsp;*fp;
char&nbsp;fname[FILENAME_MAX];

printf(&quot;文件名:&quot;);
scanf(&quot;%s&quot;,&nbsp;fname);

if&nbsp;((fp&nbsp;=&nbsp;fopen(fname,&nbsp;&quot;rb&quot;))&nbsp;==&nbsp;NULL){
puts(&quot;文件打开失败。&quot;);
}else{
while&nbsp;((n&nbsp;=&nbsp;fread(buf,&nbsp;1,&nbsp;16,&nbsp;fp))&nbsp;&gt;&nbsp;0)&nbsp;{
int&nbsp;i;

printf(&quot;%08lx&nbsp;&quot;,&nbsp;count);

for(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;n;&nbsp;i++){
printf(&quot;%02X&nbsp;&quot;,&nbsp;(unsigned)buf[i]);
}

if&nbsp;(n&nbsp;&lt;&nbsp;16){
for&nbsp;(i&nbsp;=&nbsp;n;&nbsp;i&nbsp;&lt;&nbsp;16;&nbsp;i++){
printf(&quot;&nbsp;&nbsp;&nbsp;&quot;);
}
}

for&nbsp;(i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;n;&nbsp;i++){
putchar(isprint(buf[i])&nbsp;?&nbsp;buf[i]&nbsp;:&nbsp;&#39;.&#39;);
}
putchar(&#39;\n&#39;);

count&nbsp;+=&nbsp;16;
}
fclose(fp);
}

return&nbsp;0;
}

运行结果:
C语言 将文件内容转换成Dump文件数据格式_#include


举报

相关推荐

0 条评论