c - 在 C 中使用 fgets 找到特定标记后读取文件的部分内容

标签 c file fgets

我想要一些关于如何读取“XML”之类文件的建议,以便程序仅读取/存储在满足某些要求的节点中观察到的元素。我正在考虑按以下方式使用两个 fget:

while (fgets(file_buffer,line_buffer,fp) != NULL)
 {
   if (p_str = (char*) strstr(file_buffer,"<element of interest opening")) )
    {
      //new fgets that starts at fp and runs only until the end of the node
       {
         //read and process
       }
    }
 }

这有意义吗?或者有更聪明的方法吗?

其次(在我看来),我是否必须定义一个新的 FILE* (如 fr),在第二个 fgets 开始时将 fr 设置为 fp 或者我可以以某种方式滥用原始文件指针吗?

最佳答案

使用 XML 解析器,如 Xmllib2 http://xmlsoft.org/xml.html

关于c - 在 C 中使用 fgets 找到特定标记后读取文件的部分内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14498905/

相关文章:

java - 从 byte[] 创建一个临时的 java.io.File

java - 如何在 InputStream 中接收多个文件并进行相应处理?

C 输入问题

c - 如何读取不同长度的子串

c - 为什么我的公式不能将华氏度转换为摄氏度?

c - 数组元素没有变化

c - rewind() 之后,您可以使 fprintf() 写入文件末尾吗(例如完全覆盖)

c - 将单个字符追加到 C 中的动态字符数组

c - 在 C 语言中接受输入时的意外行为

c - fgets 而不是 gets