在C++中读取文件的更好方法是什么?
我想用C++读取文件。我想知道哪一种是更好的阅读方式(速度和优雅)。在C++中读取文件的更好方法是什么?
我对按字符读取文件字符或按字符串读取字符串有点困惑。
我只想拥有自己的xml/html解析器。我想解析一个未格式化的xml/html文件。那么哪种方法更适合我的目的?
两者都可以很好地工作。真正的问题是你读完数据后你想要做什么 - 如果你的处理是面向完整的行,那么读完整的行。如果它是面向单词,然后阅读单词。如果它面向字符,则读取单个字符。例如,如果你想阅读一个文件并将其中包含的每一个字母大写,那么一次读取一个字符,利用它,写出来并重复,可能是最容易的。
如果您想在文件中永远使用首字母大写,那么最简单的方法可能是读一个单词,首字母大写,写出单词并重复。
没有比其他人更好,更差,更优雅等等 - 这完全是一个选择适合自己想要做什么的问题。其中一个可能比另一个稍微快一些,但这很大程度上取决于您正在使用的标准库,并且几乎没有(如果有的话)方法来预测总体上哪个更快。
嗨杰里我已经更新了我的问题,你可以提供你的意见吗? –
至少对于大多数解析来说,您从一个读取字符并生成标记的词法分析器开始,然后在下一层读取和处理标记。我不确定*这是解析XML所必需的,但这将是我的第一选择。理论上HTML是相似的,但实际上这是残酷的丑陋。如果可能的话,我会避免它。 –
谢谢杰里的输入 –
无论你想读取标记([lexems](http://en.wikipedia.org/wiki/Lexeme))。在XML中,词法是标签或文本块。 –