
如何让用c语言搜索文件中的关键字,然后把关键字所在的一行,就是两个\n之间的东西显示出来在屏幕上?
比如我E盘里边有个txt文件,里边有几行字,都是以回车分行的。我怎么样才能输入一个字,然后就输出了那个字所在的那一行...
比如我E盘里边有个txt文件,里边有几行字,都是以回车分行的。我怎么样才能输入一个字,然后就输出了那个字所在的那一行
展开
2个回答
展开全部
最简单的方法,输入一个字后,在txt文件中进行循环getline操作,同时计数,匹配这个字。最后输出计数值就OK了
更多追问追答
追问
就是比如那个文件里有\n张三\t13356783456\n,我怎么样才能输入张或者三或者张三就能输出\n张三\t13356783456\n呢?麻烦您能写个示例代码吗?万分感谢 您
追答
#include
#include
int main()
{
printf("请输入要匹配的文字:\n");
char searchword[20];
scanf("%s",searchword);
FILE *inf=fopen("E:\\a.txt","r");
while(true)
{
char eachline[40]={'\0'};
char temp;
int index=0;
bool getit=true;
bool compareover=false;
do
{
temp=fgetc(inf);
eachline[index]=temp;
if(searchword[index]=='\0')
{
compareover=true;
}
if(!compareover&&searchword[index]!=eachline[index])
{
getit=false;
}
index++;
}while(temp!='\n'&&temp!=EOF);
eachline[index]='\0';
if(getit)
{
printf("%s",eachline);
//
}
if(temp==EOF)
break;
}
system("pause");
return 0;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |