博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

宁静致远

生命如蜡烛/ 不是你自己把自己点亮的/ 所以不要问为什么要活着/ 想一下怎样才能活的更有意义吧/
   freesky3555.cublog.cn
关于作者  
姓名:王旭东
年龄:39
位置:0354
个性介绍:静如秋水  动似蛟龙

我的分类  




把MS的txt文件转换成C文件
雨人科技的《Linux下的C编程》附带光盘是在MS下编写的文档。所有例程都是 *.txt文档。而且每行的结尾都有一个“^M”的控制符。如下:

main()                                                                        ^M
{ ^M
        int a,b,c;                                                                     ^M
        unsigned d;                                                                   ^M
        a=6;b= -7;u=78;                                                               ^M
        c=a+b+u;                                                                    ^M
        printf(%d\n¡±,c);                  /*printf£¨£©Îª¸ñʽ»¯Êä³öº¯Êý*/        ^M
        /*¡±%d¡±±íÊä³ö¸ñʽΪʮ½øÖÆÕûÊý*/                      ^M
} ^M



要将MS的txt文档转换成.c文档
  • 删除控制符“^M”,这两个字符是Cltr+V和Cltr+M的组合。
  • 在目录中把后缀为“*.txt”的换名。
单篇删除“^M”可以在vi中用 : %s/^M//g 来实现,如果一个目录中多篇文档就要用到dos2unix了。更改后缀名用rename 's/txt/c/' *txt。多个目录中实现这个操作可以写个简单的shell程序:

#Change file name txt to c and delete '^M'
#

dos2unix *
rename 's/txt/c/' *txt

#End

保存成名为CHANG的文档,chmod +x CHANG。mv 到$HOME/bin下。这样进入每个目录后CHANG就可以了。

注:上面的程序还有些问题
  1. 没有包含文件#include <stdio.h>
  2. u应当为d
  3. printf语句中%前少了引号",n后面的乱码手动改为"。这个乱码应当是全角的”
  4. 注释中的汉字不能正常显示。删除了得了。


 发表于: 2007-10-28,修改于: 2007-10-28 08:41 已浏览300次,有评论0条 推荐 投诉

  网友评论

  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:4.29817

京ICP证041476号