请问这个怎么做?编写一个 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 Python输入字符串转化为列表排序具体见图,严格按照输入
- ¥20 XP系统在重新启动后进不去桌面,一直黑屏。
- ¥15 opencv图像处理,需要四个处理结果图
- ¥15 无线移动边缘计算系统中的系统模型
- ¥15 深度学习中的画图问题
- ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
- ¥15 Python报错怎么解决
- ¥15 simulink如何调用DLL文件
- ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
- ¥30 线性代数的问题,我真的忘了线代的知识了