C语言在文件中查找字符串是否在某行,显示行号和该行内容

这个功能类似于VC6.0中的在文件中查找的功能

输入关键字,并搜索该目录下的所有文件,查找文件中的字符是否存在关键字

如果存在就输出该行的行号和内容

#include
#include
int main()
{
	FILE *fp;		//文件指针
	char find_str[100];	//存储字符串的数组
	int	line=0;		
	char file_str[1024];
	fp=fopen("d:\\test.txt","r");//创建的文件
	if(fp==NULL)
	{
		printf("open error\n");
		return -1;
	}
	printf("input string to find:");
	gets(find_str);		//获取输入的字符串
	while(fgets(file_str,sizeof(file_str),fp))//逐行循环读取文件,直到文件结束 
	{
		line++;
		if(strstr(file_str,find_str))  //检查字符串是否在该行中,如果在,则输出该行
		{
			printf("%s in %d :%s\n",find_str,line,file_str);
			//fclose(fp);
			//return 0;
		}
	}
	fclose(fp);//关闭文件,结束
	printf("not found str:%s\n",find_str);
	return -1;
}


你可能感兴趣的:(C)