⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 模拟系统命令echo的小程序.txt

📁 c语言的一些常见的算法以及思考和改进的文章,写的很不错,花费了很大的精力从网络了搜罗的,希望大家喜欢.
💻 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 + -