啦啦啦拉拉裤 2021-11-07 11:16 采纳率: 69.1%
浏览 45
已结题

C语言问题打印文件的字节数

请问这个怎么做?编写一个 C 程序,print_bytes,它接受一个参数,一个文件名,它应该读取指定的文件并为文件的每个字节打印一行。该行应以十进制和十六进制显示字节。如果该字节是 ASCII 可打印字符,则还应打印其 ASCII 值。
假设 ASCII 可打印字符是那些ctype.h函数isprint返回非零值的字符。

img

img

  • 写回答

1条回答 默认 最新

  • 关注

    代码如下:

    #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;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月15日
  • 已采纳回答 11月7日
  • 创建了问题 11月7日

悬赏问题

  • ¥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