| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 432 人关注过本帖
标题:c语言文件出力问题
只看楼主 加入收藏
jp00802953
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-6-4
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
c语言文件出力问题
#include <stdio.h>
void disp(FILE *f, char c){
  if(0x20<=c && c<=0x7e){
    fputc(c,f);
  } else {
    fputc('.',f);
  }
}
main(){
  char string[2][100];
  int c,k;
  FILE *fpi,*fpo;
  printf("enter input filename: ");
  scanf("%s",&string[0]);
  printf("enter output filename: ");
  scanf("%s",&string[1]);
  if((fpi=fopen(string[0],"r"))==NULL){
    fprintf(stderr,"cannot open %s\n",string[0]);
    exit(1);
  }
  if ((fpo=fopen(string[1],"w"))==NULL){
    fprintf(stderr,"cannot open %s\n",string[1]);
    exit(1);
  }
  k=0;
  while((c=fgetc(fpi))!=EOF){
    k++;
    fprintf(fpo," %02x",c);
        disp(fpo,c);
        if(k%16==0){
          fprintf(fpo,"\n");
        }
      }
  fclose(fpi);
  fclose(fpo);
}
上面这个是老师给的程序,出力,然后做成个dat文件,把里面的字母全部变成符号,然后字母旁边是那个相对应的符号,就变成了下面这样
23# 69i 6en 63c 6cl 75u 64d 65e 20  3c< 73s 74t 64d 69i 6fo 2e.
 68h 3e> 0a. 0a. 76v 6fo 69i 64d 20  64d 69i 73s 70p 28( 46F 49I
 4cL 45E 20  2a* 66f 2c, 20  63c 68h 61a 72r 20  63c 29) 7b{ 0a.
 20  20  69i 66f 28( 300 78x 322 300 3c< 3d= 63c 20  26& 26& 20
 63c 3c< 3d= 300 78x 377 65e 29) 7b{ 0a. 20  20  20  20  66f 70p
 75u 74t 63c 28( 63c 2c, 66f 29) 3b; 0a. 20  20  7d} 20  65e 6cl
 73s 65e 20  7b{ 0a. 20  20  20  20  2f/ 2a* 20  300 78x 322 300
(中略)
 fa. 28( c9. bd. bc. a8. b2. c4. c7. bd. a4. ca. be. ec. b9. e7.
 29) a4. f2. bd. d0. ce. cf. 20  2a* 2f/ 0a. 20  20  20  20  69i
 66f 28( 6bk 25% 311 366 3d= 3d= 300 29) 7b{ 20  2f/ 2a* 20  311
 366 ca. b8. bb. fa. a4. b4. a4. c8. a4. cb. b2. fe. b9. d4. a4.
 f2. bd. d0. ce. cf. 20  2a* 2f/ 0a. 20  20  20  20  20  20  66f
 70p 72r 69i 6en 74t 66f 28( 66f 70p 6fo 2c, 22" 5c\ 6en 22" 29)
 3b; 0a. 20  20  20  20  7d} 0a. 20  20  7d} 0a. 20  20  66f 63c
 6cl 6fo 73s 65e 28( 66f 70p 69i 29) 3b; 0a. 20  20  66f 63c 6cl
 6fo 73s 65e 28( 66f 70p 6fo 29) 3b; 0a. 7d} 0a.
现在老师要我们改成下面这样怎么改啊~各位求教啊~很急~谢谢~

 23 69 6e 63 6c 75 64 65 20 3c 73 74 64 69 6f 2e | #include <stdio.
 68 3e 0a 0a 76 6f 69 64 20 64 69 73 70 28 46 49 | h>..void disp(FI
 4c 45 20 2a 66 2c 20 63 68 61 72 20 63 29 7b 0a | LE *f, char c){.
 20 20 69 66 28 30 78 32 30 3c 3d 63 20 26 26 20 |   if(0x20<=c &&
 63 3c 3d 30 78 37 65 29 7b 0a 20 20 20 20 66 70 | c<=0x7e){.    fp
 75 74 63 28 63 2c 66 29 3b 0a 20 20 7d 20 65 6c | utc(c,f);.  } el
 73 65 20 7b 0a 20 20 20 20 2f 2a 20 30 78 32 30 | se {.    /* 0x20
 20 a1 c1 20 30 78 37 65 20 b0 ca b3 b0 a4 ce a5 |  .. 0x7e .......
 b3 a1 bc a5 c9 a4 cf a5 b3 a5 f3 a5 c8 a5 ed a1 | ................
 bc a5 eb a5 b3 a1 bc a5 c9 a4 ca a4 ce a4 c7 b2 | ................
 e8 cc cc c9 bd bc a8 a4 c7 a4 ca a4 a4 20 2a 2f | ............. */
 0a 20 20 20 20 66 70 75 74 63 28 27 2e 27 2c 66 | .    fputc('.',f
 29 3b 0a 20 20 7d 0a 7d 0a 0a 6d 61 69 6e 28 29 | );.  }.}..main()
(中略)
 20 66 70 72 69 6e 74 66 28 66 70 6f 2c 22 20 25 |  fprintf(fpo," %
 30 32 78 22 2c 63 29 3b 0a 20 20 20 20 64 69 73 | 02x",c);.    dis
 70 28 66 70 6f 2c 63 29 3b 20 2f 2a 20 ca b8 bb | p(fpo,c); /* ...
 fa 28 c9 bd bc a8 b2 c4 c7 bd a4 ca be ec b9 e7 | .(..............
 29 a4 f2 bd d0 ce cf 20 2a 2f 0a 20 20 20 20 69 | )...... */.    i
 66 28 6b 25 31 36 3d 3d 30 29 7b 20 2f 2a 20 31 | f(k%16==0){ /* 1
 36 ca b8 bb fa a4 b4 a4 c8 a4 cb b2 fe b9 d4 a4 | 6...............
 f2 bd d0 ce cf 20 2a 2f 0a 20 20 20 20 20 20 66 | ..... */.      f
 70 72 69 6e 74 66 28 66 70 6f 2c 22 5c 6e 22 29 | printf(fpo,"\n")
 3b 0a 20 20 20 20 7d 0a 20 20 7d 0a 20 20 66 63 | ;.    }.  }.  fc
 6c 6f 73 65 28 66 70 69 29 3b 0a 20 20 66 63 6c | lose(fpi);.  fcl
 6f 73 65 28 66 70 6f 29 3b 0a 7d 0a             | ose(fpo);.}.


搜索更多相关主题的帖子: cannot include c语言 
2012-06-04 20:10
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:20 
这道理一样吧,只是把字符的位置移动到后面,其实这个文件本身就是c编译后的elf文件吧,不用处理都有。

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2012-06-10 08:14
快速回复:c语言文件出力问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015773 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved