【发布时间】:2018-12-06 17:04:39
【问题描述】:
如何检查给定的FILE* 是否包含在 Linux 上运行的 C 中的字符串(如果重要)?
字符串必须包含它所在的整行。例如,这个:
jfjfkjj
string
jfjkfjk
会是真的;但是这个:
jffjknf
fklm...string...lflj
jfjkfnj
不会。我本质上是在寻找system("grep -x file")的内部替代方案@
【问题讨论】:
-
逐行读取并比较。
-
可以使用
getline和strcmp等函数 -
@lurker 好的,我会阅读他们的手册页。
-
while(fgets( ....) != NULL)记得remove any trailing newline。 -
@WeatherVane 我刚刚看到你的评论,这确实是我刚才想出的代码。我知道这有点离题,但
while(fgets( ....) != NULL)和while(!fgets( ....))有什么区别?
标签: c string file-processing word-processor