C++stingstreamの使用タイプ変換と文字分離(機能はスプリットに似ています)
2011 ワード
参考:
http://www.cppblog.com/Sandywin/archive/2007/07/13/27984.html
腫萼萼芰葃芰芫芫芫菶荎荎荎?落33859;芫菗33751;菗33751;33781;33781;菵菵
http://www.cppblog.com/Sandywin/archive/2007/07/13/27984.html
腫萼萼芰葃芰芫芫芫菶荎荎荎?落33859;芫菗33751;菗33751;33781;33781;菵菵
////////////////////////////////////////
//
//ostringstream, istringstream, stringstream
//
//
/////////////////////////////////////////
#include <iostream>
#include <sstream>
using namespace std;
// , stingstream int/float/double
template<class out_type,class in_value>
out_type convert(const in_value & t)
{
stringstream stream;
stream<<t;//
out_type result;//
stream>>result;// result
return result;
}
int main(int argc, char* argv[])
{
//int string
int temp1_num=100;
string temp1_str=convert<string>(temp1_num);
cout<<temp1_str<<endl;
//string int
string temp2_str="121";
int temp2_int=convert<int>(temp2_str);
cout<<temp2_int<<endl;
//float(double) string
float temp3_num=100.32;
string temp3_str=convert<string>(temp3_num);
cout<<temp3_str<<endl;
//string float(double)
string temp4_str="322.11";
float temp4_num=convert<float>(temp4_str);
cout<<temp4_num<<endl;
//stringstream split
string a, b, c, d;
string lines="adfa;asdfasd;fasdf;ccc";
stringstream line(lines);
getline(line, a, 'f');
getline(line, b, ';');
getline(line, c, ';');
getline(line, d);
cout<<"a = "<<a<<endl;
cout<<"b = "<<b<<endl;
cout<<"c = "<<c<<endl;
cout<<"d = "<<d<<endl;
cin.get();
return 0;
}