|
sample.c
-------------------------------------------------------------------
int main(int argc, char *argv[]){
FILE *fp;
char keyword[80];
char line_c[256];
char* sp;
int num=0;
if( argc<3 || (fp=fopen(argv[1],"r") ) == NULL){
printf("can not open file");
exit(1);
}
strcpy(keyword,argv[2]);
while(fgets(line_c,256,fp) !=NULL){
num++;
sp = strstr(line_c,keyword);
if(sp!=NULL){
printf("%s",line_c);
}
}
fclose(fp);
return 0;
}
-------------------------------------------------------------------
sample.txt
-------------------------------------------------------------------
1 10
2 20
3 30
4 40
.
.
.
.
22 220
-------------------------------------------------------------------
このプログラムはキーワードを指定して、テキストファイル内を検索し、そのキーワードを含む行を表示するプログラムです。
ですが、このプログラムだと、キーワードを「2」に設定すると、
12、21、22などを含む行まで表示してしまいます。
できれば、一番左のindex番号をキーワードにして、その行を表示するプログラムをつくりたいのですが、どうしたらよいでしょうか?
|