C++でのCSVの読み込み

boostを使えば文字列の分割が楽にできる。CSVファイルを開いて2次元配列に格納がやっとできた。

参考:
* C++で文字列のsplit | Story of Your Life http://shnya.jp/blog/?p=195
* Boostのalgorithm::splitを使う – sciorの日記 http://d.hatena.ne.jp/scior/20100811/1281537296

#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <boost/algorithm/string.hpp>

int main() {
std::fstream file("./data.csv");
std::string str;
std::vector<std::vector<std::string> > values;
std::cout << "ここからvectorで読み込み\n";std::vector<std::string> v;
while (getline(file, str)){
boost::algorithm::split(v, str, boost::is_any_of(","));
values.push_back(v);
}

std::cout << "ここから配列の出力\n";
for (int i=0; i < values.size(); i++){
for (int j=0; j < values[i].size(); j++ ){
std::cout << values[i][j] ;
}
std::cout << std::endl;
}
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次の記事

焦り