c - 在文件中搜索行时使用哪种方法

标签 c search fileparsing file-search

我有一个包含文件路径名的文件:

/my/path1
/my/path11
/my/path12
/my/path13

文件结构是每行都有单独的路径。我想做的就是在上述文件中多次搜索字符串 /my/path1 或任何其他字符串的存在

我能想到两种方法。

  1. 每次逐行获取文件内容,然后搜索字符串。优点是文件可以是任意大小,并且我不需要担心缓冲区溢出。

  2. 将内容加载到缓冲区中并使用缓冲区进行搜索。但由于我无法控制文件大小,因此我应该小心谨慎。

最好的方法是什么?我在unix下工作。我可以使用 C 语言中的任何内置库命令来实现此目的吗?或者我如何在 C 代码中使用 awk 完成相同的任务。

最佳答案

如果你使用stdio,它会为你做缓冲。您可以使用函数 setvbuf 来更改其操作。缓冲多于一行。 getline 可以用来逐行检查。

关于c - 在文件中搜索行时使用哪种方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9208915/

相关文章:

ruby - 是否有 Ruby 文件解析问题/难题列表

c++ - #define函数的多重定义

c - 如何在 C 中管理缓冲区字符串

C# 通用图形搜索框架

mysql - 以下连接结构是否适用于 CakePHP 查找?

python - Python 中的简单数据存储

c - 引用编译器设计

c - 代码中的C编程错误

java - 二进制搜索不适用于 double