2012-06-06 49 views
-7

我想用C++讀取文件。我想知道哪一種是更好的閱讀方式(速度和優雅)。在C++中讀取文件的更好方法是什麼?

我對按字符讀取文件字符或按字符串讀取字符串有點困惑。

我只想擁有自己的xml/html解析器。我想解析一個未格式化的xml/html文件。那麼哪種方法更適合我的目的?

+0

無論你想讀取標記([lexems](http://en.wikipedia.org/wiki/Lexeme))。在XML中,詞法是標籤或文本塊。 –

回答

1

兩者都可以很好地工作。真正的問題是你讀完數據後你想要做什麼 - 如果你的處理是面向完整的行,那麼讀完整的行。如果它是面向單詞,然後閱讀單詞。如果它面向字符,則讀取單個字符。例如,如果你想閱讀一個文件並將其中包含的每一個字母大寫,那麼一次讀取一個字符,利用它,寫出來並重復,可能是最容易的。

如果您想在文件中永遠使用首字母大寫,那麼最簡單的方法可能是讀一個單詞,首字母大寫,寫出單詞並重復。

沒有比其他人更好,更差,更優雅等等 - 這完全是一個選擇適合自己想要做什麼的問題。其中一個可能比另一個稍微快一些,但這很大程度上取決於您正在使用的標準庫,並且幾乎沒有(如果有的話)方法來預測總體上哪個更快。

+0

嗨傑裏我已經更新了我的問題,你可以提供你的意見嗎? –

+0

至少對於大多數解析來說,您從一個讀取字符並生成標記的詞法分析器開始,然後在下一層讀取和處理標記。我不確定*這是解析XML所必需的,但這將是我的第一選擇。理論上HTML是相似的,但實際上這是殘酷的醜陋。如果可能的話,我會避免它。 –

+0

謝謝傑裏的輸入 –

相關問題