红联Linux门户
Linux帮助

【求助】linux下的文本编辑C

发布时间:2014-04-03 17:45:24来源:红联作者:627798579
1、建立vis3目录,在其下编辑一个vis3.c程序,它可以接受一个命令选项-l,此选项表示只显示输入文本的行数,不显示其内容(如同wc -l命令)。编译并运行程序,检验程序的执行结果。
2、建立vis4目录,在其下编辑一个vis4.c程序,它可以接受一个文件名参数,此该文件中读入文本,转换为大写后输出。编译并运行程序,检验程序的执行结果。
3、思考:cat命令是如何实现的?


以下是实现删除字符前的空格并将小写变大写的C代码。能否在这个基础上改呢?(求大神)
#include
# include
main(int argc, char *argv[])
{
int ch;
int align=0; // align:对齐标志。0为不对齐;1为对齐。
int strip=1; // strip:滤除标志。0为不滤除;1为滤除。
printf("****vis2 by your -sid****\n"); //将your -sid改为你的学号
if(argc>1 && strcmp(argv[1], "-s")==0) align=1; //如有-s选项,设置对齐标志
while((ch=getchar())!=EOF) {
if(islower(ch)) ch=toupper(ch);
if(!align) putchar(ch);
else if (!strip || (ch!= ' ' && ch!= '\t')) { //如果不是前导空白字符
putchar(ch);
strip=0; //清除滤除标志,不滤除非行首的空白字符
if(ch=='\n') strip=1; //行末处,重置滤除标志
}
}
exit(0);
}
文章评论

共有 0 条评论