C 比较文本文件中的字符串,然后打印出整行

C 比较文本文件中的字符串,然后打印出整行,c,string,text-files,C,String,Text Files,我的目标是打印文本文件中的每一行,如果该行包含相当于用户输入的字符串 我知道如何在文本文件中查找特定字符串的出现处,但对于如何将其与特定行关联感到困惑。如何将字符串与其所在的特定行关联 我最初的想法是将每一行存储在一个数组中,然后如果用户字符串位于该行的某个位置,则打印出该行 但是每一行的大小不同,因此,我想知道是否可以首先将整个文本文件分成x行,然后使用循环遍历每行并搜索该字符串?在开始新行比较之前,将该行开头的文件指针保存在临时变量中。行长是否有限制?您可以定义足够大的数组以容纳最长的线;否

我的目标是打印文本文件中的每一行,如果该行包含相当于用户输入的字符串

我知道如何在文本文件中查找特定字符串的出现处,但对于如何将其与特定行关联感到困惑。如何将字符串与其所在的特定行关联

我最初的想法是将每一行存储在一个数组中,然后如果用户字符串位于该行的某个位置,则打印出该行


但是每一行的大小不同,因此,我想知道是否可以首先将整个文本文件分成x行,然后使用循环遍历每行并搜索该字符串?

在开始新行比较之前,将该行开头的文件指针保存在临时变量中。

行长是否有限制?您可以定义足够大的数组以容纳最长的线;否则,您将需要动态分配(
malloc()
和朋友)。行长度有限制。我是否应该读取字符直到到达“\n”,然后将其存储为字符串?是的,
fgets()
正是这样做的。您能再解释一下吗?我目前让我的程序搜索一般的字符串(独立于行),我不知道如何操作行。你能分享你的部分代码(搜索字符串)以获得更多的理解吗