0

私のxmlファイルには、「1 10 -5 150 35」のように記述されたintの配列があり、pugixmlを使用して解析しています。

pugixmlがas_boolやas_intなどのメソッドを提供することは知っていますが、int配列の文字列表現をc ++オブジェクトに変換する簡単な方法を提供しますか、それとも文字列を自分で解析して分離する必要がありますか?もしそうなら、それを行う方法について何か提案はありますか?

4

1 に答える 1

3

を使用する可能性がありますstd::istringstream。例:

#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <algorithm>
#include <iterator>

int main()
{
    {
        std::istringstream in(std::string("1 10 -5 150 35"));
        std::vector<int> my_ints;

        std::copy(std::istream_iterator<int>(in),
                  std::istream_iterator<int>(),
                  std::back_inserter(my_ints));
    }

    // Or:
    {
        int i;
        std::istringstream in(std::string("1 10 -5 150 35"));
        std::vector<int> my_ints;
        while (in >> i) my_ints.push_back(i);
    }
    return 0;
}
于 2012-07-24T15:12:58.647 に答える