编写一个C程序,从键盘上读取文件名和一个单词。程序必须打印具有此单词的文件的所有行。
我找不到办法让这项工作。
我这样做了:
char nome_arq[20];
printf("Tell me the name of file: ");
scanf(" %s", nome_arq);
FILE *fp = fopen(nome_arq, "r");
if(!fp) return 0;
char palavra[40];
printf("Tell me the word: ");
scanf(" %s", palavra);
while(!feof(fp)) {
char palavra2[40];
fscanf(fp, " %[^' ']", palavra2);
if(!strcmp(palavra, palavra2)) {
char linha[400];
fgets(linha, 400, fp);
printf("%s\n", linha);
}
}
return 0;
但是它只是打印出自单词到最后的行。
请帮助。