ゲームが作れるようになるまでがんばる日記

ゲーム制作のことを中心にゲームに関することを書いています

istringstreamその2

istringstreamはC言語でのsscanf()のような使い方もできる。
例えば、"123,456,789"という文字列からカンマで区切られた数字を取得するには次のようにすれば良い。

#include <iostream>
#include <sstream>
using namespace std;

int main()
{
    string test("123,456,789");
    istringstream iss(test);
    int num0,num1,num2;
    char c;
    iss >> num0 >> c >> num1 >> c >> num2;
    cout << num0 << " " << num1 << " " << num2;
}

出力結果
123 456 789

>>演算子を使って数字>>1文字>>数字>>1文字>>数字と指定すれば、そのとおりに読み込むことができる。
これでCSV形式で保存したデータも簡単に読み込めるだろう。


via http://www.geocities.jp/ky_webid/cpp/library/032.html