我有一个txt文本在D盘的根目录下,里面每一行只有一个人名,我想做到输入一个人名就可以在txt文件里查找,然后返回有没有找到,找到了就输出1,没找到就输出22222,这个机制是无限循环的。请哪位大神回答一下,最好是完整的代码(包括头文件),谢谢!
#include <stdio.h>
int main(void)
{
char buff[101];
char name[100];
int flag = 0;
FILE *fp;
fp = fopen("D:/1.txt", "r"); // 文件路径 D:/1.txt
if (!fp)
{
printf("err\n");
return 0;
}
scanf("%s", name);
while (fgets(buff, 100, fp) != NULL)
{
if (strstr(buff,name))
{
printf("1\n");
flag = 1;
break;
}
}
if (flag == 0)
{
printf("222222\n");
}
return 0;
}
追答需要包含 string.h
追问这个不能识别中文啊,而且不能一直循环直到关闭程序为止。
追答while((scanf("%s", name)) >= 1)
{
flag = 0;
fseek(fp,0,SEEK_SET);
while (fgets(buff, 100, fp) != NULL)
{
if (strstr(buff,name))
{
printf("1\n");
flag = 1;
break;
}
}
if (flag == 0)
{
printf("222222\n");
}
}
但是不能识别中文啊
追答while((scanf("%s", name)) >= 1)
{
flag = 0;
fseek(fp,0,SEEK_SET);
while (fgets(buff, 100, fp) != NULL)
{
if (strstr(buff,name))
{
printf("1\n");
flag = 1;
break;
}
}
if (flag == 0)
{
printf("222222\n");
}
}
用中文输入法 输入中文名字
您好,请您看一下我的私信,谢谢。
本回答被提问者采纳