请问这个怎么做?编写一个 C 程序,print_bytes,它接受一个参数,一个文件名,它应该读取指定的文件并为文件的每个字节打印一行。该行应以十进制和十六进制显示字节。如果该字节是 ASCII 可打印字符,则还应打印其 ASCII 值。
假设 ASCII 可打印字符是那些ctype.h函数isprint返回非零值的字符。
C语言问题打印文件的字节数
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 技术专家团-小桥流水 2021-11-07 11:29关注
代码如下:
#include <stdio.h> #include <ctype.h> int main(int argc, char *argv[]) { int i=0; unsigned char ch; if(argc != 2) { printf("参数不满足要求"); //C语言参数包含程序名 return 0; } FILE *fp = fopen(argv[1],"r"); if (fp == 0) { printf("%s文件打开失败\n",argv[1]); return 0; } while ((ch = fgetc(fp))!= EOF) { if(isprint(ch)) printf("byte %4d:%4u 0x%02x '%c'\n",i,ch,ch,ch); else printf("byte %4d:%4u 0x%02x\n",i,ch,ch); i++; } fclose(fp); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 matlab有关常微分方程的问题求解决
- ¥15 perl MISA分析p3_in脚本出错
- ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
- ¥15 ubuntu虚拟机打包apk错误
- ¥199 rust编程架构设计的方案 有偿
- ¥15 回答4f系统的像差计算
- ¥15 java如何提取出pdf里的文字?
- ¥100 求三轴之间相互配合画圆以及直线的算法
- ¥100 c语言,请帮蒟蒻写一个题的范例作参考
- ¥15 名为“Product”的列已属于此 DataTable