C Primer Plus(第六版)13.11 编程练习 第11题

/*
编写一个程序,接受两个命令行参数。第1个参数是一个字符串,第2个参数是一个文件名。然
后该程序查找该文件,打印文件中包含该字符串的所有行。因为该任务是面向行而不是面向字符
的,所以要使用fgets()而不是getc()。使用标准C库函数strstr() (11.5.7节简要介绍过)
在每一行中查找指定字符串。假设文件中的所有行都不超过255个字符。
*/
//13.11-11.exe QTRK 13.11-11.txt
#include  
#include
#include
#include

#define MAX 255

int main (int argc, char *argv[] )
{
    FILE *fp;
    char str[MAX];
    
    if (argc != 3)
        exit(EXIT_FAILURE);
    else
    {
        fp = fopen(argv[2], "r");
        while((fgets(str,MAX,fp))!=NULL)
        {
        if(strstr(str,argv[1]))//注意参数顺序 
            printf("%s",str);
        }
        fclose(fp);
    }
    return 0;
}
 

你可能感兴趣的:(C,Primer,Plus(第六版),c语言,linux,算法)