命令行参数
在支持c语言的环境中,可以在程bbi序开始执行时将命令行参数传递给程序。调用主函数main时,带有两个参数,第一个参数的值argc表示运行程序时,命令行中参数的数目,第二个参数是一个指向字符串数组的指针,其中每个字符串对应一个参数。
最简单的例程echo如下:
#include <stdio.h>
int main(int argc,char *argv[])
{
int i;
for(i=1;i<argc;i++)
{
printf("%s%s",argv[i],(i<argc-1)?" ":"");
}
printf("\n");
return 0;
}
```d
模仿unix程序grep实现方法:
```c
#include <stdio.h>
#include <string.h>
#define MAXSIZE 1000
int getline_1(char *s,int max);
int main(int argc,char *argv[])
{
char line[MAXSIZE];
int found;
if(argc!=2)
{
printf("usage:find pattern\n");
}
else
{
while(getline_1(line,MAXSIZE)>0)
{
if(strstr(line,argv[1])!=NULL)
{
printf("%s",line);
found++;
}
}
}
return found;
}