0
這不是關於RapidXML約定的具體問題,因爲它是關於使用std :: vector的構造函數的問題。在std :: vector的構造函數中使用std :: string數據類型
在我發現別人用RapidXML的所有例子,大家總是將數據讀入的,像這樣的構造函數char
「使用std::vector
S」的矢量:
vector<char> buffer((istreambuf_iterator<char>(theFile)), istreambuf_iterator<char>());
必須有一個原因因爲當我嘗試將其更改爲std::string
的一個載體,我得到滿屏幕的錯誤本是第一個錯誤:
error: invalid conversion from ‘void*’ to ‘std::istreambuf_iterator<std::basic_string<char> >::streambuf_type* {aka std::basic_streambuf<std::basic_string<char>, std::char_traits<std::basic_string<char> > >*}’
有沒有辦法使用的std :: string的方式,如果沒有,爲什麼?
哦, 我懂了! 'istreambuf_iterator()'逐字符讀取並且必須是'char'類型。我認爲如果我用'std:string'讀取項目,我就可以比較它們更容易。例如'if(column_node-> value()。compare(「Coil and Switch resistance」)== 0)'。 – larrylampco
較短:'字符串緩衝區(istreambuf_iterator(theFile),{});' –
sehe