【发布时间】:2011-09-17 15:44:26
【问题描述】:
我最初是使用fgets() 逐行解析文件。
现在我改变了一些东西,以便我已经将整个文件放在缓冲区中。我仍然喜欢逐行读取该缓冲区以进行解析。是否有为此设计的东西,还是我需要创建一个循环来检查0x0Achars?
【问题讨论】:
-
如果您使用 C++,请查看istringstream,它允许您“从内存中的字符串读取”。
-
您已标记此
c和c++... 它是什么?你的缓冲区是如何定义的? -
决定您是要编写 C 代码还是 C++ 代码。然后回来问怎么做。我不会浪费时间为您编写 C++ 解决方案,因为您可能会认为它“C 不够用”。
-
我正在使用 C++,但我更喜欢使用像
fopen这样的 C 函数,因为使用它们很容易实现。 -
如果您编写词法分析器,为什么不将其写入
flex,它的速度非常快,而且每次都正确。它将为您提供 C 和 C++ 输出,并且您可以在收到令牌后编写回调来表达您的心意。