水曜日, 9月 17, 2014

std::to_string

C++11以降では数値型から文字列に変換するのにstd::to_string()を使えばよい.これは便利である.以下は整数値を文字列に変換する例.

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

int main() {
 std::list<int> v{ 25, 30, 10, 90, 500 };
 std::list<std::string> v2;
 std::transform(v.begin(), v.end(), std::back_inserter(v2), [](int x)->std::string { return std::to_string(x); });
 std::stringstream ss;
 std::for_each(v2.begin(), v2.end(), [&ss](std::string s)->void {ss << s << ","; });
 std::cout << ss.str().substr(0,ss.str().length()-1) << std::endl;
}