C语言对一个文件流进行字符串查找并显示出来

C语言对一个文件流进行字符串查找并显示出来,第1张

基本流程如下,自己组织成完整的程序,上机试一下吧

#include <string.h>

char str[100]

char search[100]

scanf("%s", search) //输入待查串

fp=fopen("ur_file.txt", "r")

while( fgets(str, sizeof(str), fp) )

{

    if ( strstr( str, search) )

        printf("%s", str )

}

fclose(fp)

问题1,为什么不能直接用流 jun ,而是要创建一个readhai,在接下来用strstr查找readhai

解答:你可以理解成流只是固定的一段内存,打开文件以后,文件会加载到这段内存里,但不是整个文件加载,而是加载一部分,所以文件流需要顺序读写,或者重新定位,这样,才知道这段内存保存的是文件的哪个部分,通俗点说,这个是水龙头,你能通过水龙头放水。

你要使用文件的一部分(字符串或者一段文字),那么你必须将这个段文字拷贝出来,或者读出来,保存到你自己的存储空间里,这里是拷贝到一个数组里,然后再使用这个字符串,通俗点说,这个是把水龙头的水接到杯里,然后你可以处置这杯水了。

问题2,能告诉一下while循环里的编辑思路嘛

解答:while里是循环读一个字符串,然后比较这个字符串是不是与函数参数的字符串相同,相同就输出,不相同就继续读,直到文件结束。这个就像水龙头接在酒桶上,酒里还泡着几个枸杞,你接一杯水,检查一下有没有枸杞,有就挑出来(输出),没有继续接下一杯,直到酒桶里没有酒了。

你这个是c++的

如果是c++

#include <fstream>

#include <string>

#include <iostream>

using namespace std

void main()

{

string name

ifstream infile

cin >>name

infile.open(filename.c_str(), ios::in|ios::out)

if(!infile)

{

cout <<"open file failed"<<endl

return

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12070454.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存