zoukankan      html  css  js  c++  java
  • MyOD(选做)(20191213兰毅达)

    任务详情

    • 1 复习c文件处理内容
    • 2 编写myod.c 用myod XXX实现Linux下od -tx -tc XXX的功能
    • 3 main与其他分开,制作静态库和动态库
    • 4 编写Makefile
    • 5 提交测试代码和运行结果截图, 提交调试过程截图,要全屏,包含自己的学号信息
    • 6 在博客园发表一篇博客,重点写遇到的问题和解决过程

    主要功能是对文件进行16进制和ascii码的输出,功能同od -tc -tx相似

    主函数代码

    #include"head.h"
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    void od(char STR[1000],int i)
    {
    int k=1;
    int j=0;
    int m=0;
    int line=0;
    printf("%06d  ",line);
    putchar(STR[0]);
    for(k=1;k<=i;k++){
    if(k%16!=0&&STR[k]!=''){
    if(STR[k]!='
    ')
    {
    printf("  %2c",STR[k]);
    continue;
    }
    else{
    printf("  \n");
    continue;
    }
    }
    else{
    printf("
          ");
    for(j=m;j<k;j++){
    printf("  %02x",STR[j]);
    }
    printf("
    %06d",k+2);
    
    m=k;
    }
    }
    printf("
    ");
    }
    
    int main()
    {
    
    FILE *fp;
    fp=fopen("yl.txt","rb");
        char ch;
        char STR[1000];
        int i,n;
        i=0;
        while((ch=fgetc(fp))!=EOF)
        {
            STR[i]=ch;
            i++;
        }
        STR[i]='';
        fclose(fp);
        oput(STR,i);
    }
    
    
    
    

    For production environments...

    npm install --production
    NODE_ENV=production node app
    

    运行截图

    问题与解决

    • 1.调试过程中出现同文件夹下.c文件中的函数无法引用
      解决方法:第一种方法是,可以定义一个function.h文件来声明这些函数,接下来,在同一个function.c文件中自定义这个函数,这样的话,如果要在另外一个文件中,如main.c中调用这个函数,只需在程序开头包含相应的头文件就可以实现调用。第二种方法,也是我为了快速调通代码用的就是,直接把函数代码拷贝到要用的myod.c文件中,就不会出现无法引用的问题,但会导致代码过长的问题。
    • 2.输出文本对应的十六进制ASCII码时,出现了换行时会少打印一个字母的情况
      解决方法:对每一次进行调试,发现是在if语句判断换行的条件有问题,16个一组换行,但这样第16个数就只会打印换行符,导致ASCII码对应出错,然后我就把换行的条件修改了,换行的时候也能打印原字符串和对应的ASCII码。
    • 3.修改代码后调用原来的makefile文件结果不变
      解决方法:尝试重新写入make test后将文件进行更新,更新后的结果和调试过后的代码结果就保持一致了。另外我还发现,如果对应的.h文件修改了,那么所有依赖这个.h的.o文件都需要重新编译。
  • 相关阅读:
    压测 swoole_websocket_server 性能
    Laravel本地环境搭建:Homestead开发环境的部署
    laravel5.5框架中视图间如何共享数据?视图间共享数据的两种方法
    laravel框架模型model的创建与使用方法
    laravel学习:主从读写分离配置的实现
    《梦断代码》阅读笔记一
    数组结对开发
    对搜狗输入法的评价
    几个一
    对于大家的评审提出改进方案
  • 原文地址:https://www.cnblogs.com/1301cn/p/15324149.html
Copyright © 2011-2022 走看看