关于类型转换问题。
请问怎么将string类型转换成int、char、long int 等任意类型。parse函数怎么用?atoi怎么用,还有怎么当键入一个数值的时候、不确定什么类型应该定义成什么样的
怎么当键入一个数值的时候、不确定什么类型应该定义成什么样的 --- 逻辑不通。但你既然可以键入,那就可以当成字符串
程序代码:#include <sstream>
#include <exception>
struct bad_lexical_cast : public std::exception {
};
template<typename Target, typename Source>
Target lexical_cast(Source arg) {
std::stringstream interpreter;
Target result;
if( !(interpreter<<arg) || !(interpreter>>result) || !(interpreter>>std::ws).eof() )
throw bad_lexical_cast();
return result;
}
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int a = lexical_cast<int,const char*>("123");
double b = lexical_cast<double,const char*>("123.456");
int c = atoi( "456" );
cout << a << '\n'
<< b << '\n'
<< c << endl;
return 0;
}






