int main()
{
//字符串转换数值
string str = "123";
char *offset;
long l;
l = strtol(str.c_str(),&offset,0);
cout<<l*2<<endl;
str = "125";
unsigned long ul;
ul = strtoul(str.c_str(),&offset,0);
cout<<ul*2<<endl;
str = "12.5";
double f;
f = strtod(str.c_str(),&offset);
cout<<f<<endl;
return 0;
}
来自C标准库的旧函数strtol,strtoul,strtod分别可以把字符串转换成long,unsigned long,double类型的数值。其中的strtol,strtoul第三个参数可以指定2进制,8进制,16进制,为0则为10进制。