我正在寻找逻辑和代码来读取文件并打印两个匹配的模式之间的行。两种模式可以在一行中,也可以在下一个连续行中,或者第一个模式出现在行号“n”中,第二个模式出现在行号“m”中,或者第二个模式出现在行号“n”中,第一个模式出现在行中数字“米”。
实现的一种方法是读取文件并跟踪两个 int 变量,这将记录第一个模式匹配和其他模式匹配的行号。例如变量 x、y。x 将记录第一个模式的行号,y 将记录第二个模式的行号,关闭文件。然后检查 x=y 或 x> y 或 x < y 的条件,并基于该重读文件并打印 x 和 y 或 y 和 x 之间的行。不确定我是否可以在关闭文件之前重新读取文件?
另一种方法是用 (string compare(pattern1 with current line) || string compare(patter2 with current line) && (string compare(pattern1 with current line) || string compare(patter2 with current line) 编写 if 条件...不确定这是否可行,因此需要一些关于如何在 C 编程中实现它的反馈或指示。