📄 模拟系统命令echo的小程序.txt
字号:
模拟系统命令echo的小程序[原创]
比较简单,只是怕忘记怎么写代码,随便写写而已,不要笑话我。
/*
This program is similar to the system command 'echo'.
And the symbol '#' or '##' is like '>' or '>>' in DOS OS.
AUTHOR:BugEyes
http://BugEyes.blog.edu.cn
*/
#i nclude <stdio.h>
void usage()
{
printf("\nUSAGE:");
printf("\n1)bugeyes strings(devided by space)");
printf("\n2)bugeyes strings # filename");
printf("\n3)bugeyes strings ## filename");
printf("\n");
}
int pos(char *argv[],int argc,char substr[])
{
while(--argc>0)
{
if(strcmp(argv[argc],substr)==0)
return argc;
}
return -1;
}
void toscreen(int argc,char *argv[])
{
int pos;
for(pos=1;pos<argc;pos++)
{
puts(argv[pos]);
}
}
void tofile(int argc,char *argv[],char filename[])
{
FILE *fp;
int pos;
fp=fopen(filename,"w");
if(fp==NULL)
{
printf("\nError to open file\"%s\"\n",filename);
exit(-1);
}
for(pos=1;pos<argc;pos++)
{
fputs(argv[pos],fp);
fputc('\n',fp);
}
fclose(fp);
printf("OK");
}
void tofile1(int argc,char *argv[],char filename[])
{
FILE *fp;
int pos;
fp=fopen(filename,"w+");
if(fp==NULL)
{
printf("\nError to open file\"%s\"\n",filename);
exit(-1);
}
for(pos=1;pos<argc;pos++)
{
fputs(argv[pos],fp);
fputc('\n',fp);
}
fclose(fp);
printf("OK");
}
void main(int argc,char *argv[])
{
if(pos(argv,argc,"#")==-1&&pos(argv,argc,"#")==-1)
{
toscreen(argc,argv);
exit(0);
}
else if(pos(argv,argc,"#")==argc-2&&pos(argv,argc,"##")==-1)
{
tofile(argc-2,argv,argv[argc-1]);
exit(0);
}
else if(pos(argv,argc,"#")==-1&&pos(argv,argc,"##")==argc-2)
{
tofile1(argc-2,argv,argv[argc-1]);
exit(0);
}
else
{
usage();
exit(0);
}
}
其实,下面的代码就可以实现echo的功能,因为重定向符的功能是系统提供的,与本程序无关。
void main(int argc,char *argv[])
{
int pos;
for(pos=1;pos<argc;pos++)
printf("%s\n",argv[pos]);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -