我从文件中读取的数据为string型,要实现到数据型的转化,C++中怎么最方便
最好能有个例子
例如
string money="12345"
要实现 int money=12345 问题点数:10、回复次数:7Top
1 楼ugg(逸学堂(exuetang.net))回复于 2006-05-09 14:54:30 得分 5
使用atoi
string money="12345";
int imoney = atoi(money.c_str());Top
2 楼roger_77(阿生)(路漫漫长,上下索求)回复于 2006-05-09 14:58:05 得分 5
这个用sstream库就简单了。
string到int类型的转换
注意,<sstream>使用string对象来代替字符数组。这样可以避免缓冲区溢出的危险。而且,传入参数和目标对象的类型被自动推导出来,即使使用了不正确的格式化符也没有危险。
示例1:
#include <sstream>
std::stringstream stream;
string result="10000";
int n = 0;
stream << result;
stream >> n;//n等于10000
int到string类型的转换
string result;
int n = 12345;
stream << n;
result =stream.str();// result等于"12345"
Top
3 楼roger_77(阿生)(路漫漫长,上下索求)回复于 2006-05-09 14:59:46 得分 0
想了解更多这方面的转换:
http://blog.csdn.net/roger_77/archive/2006/03/26/639410.aspxTop
4 楼yhmhappy2006(Nathan)回复于 2006-05-09 15:12:12 得分 0
#include <iostream>
#include <sstream>
using namespace std;
int main(void)
{
int a;
float b;
string sa = "123";
string sb = "333.2";
istringstream issa(sa);
issa >> a;
istringstream issb(sb);
issb >> b;
cout << a << " " << b << endl;
return 0;
}Top
5 楼gooderfeng(冯贵来)回复于 2006-05-09 18:04:49 得分 0
atoi 和atof 很不错了。Top
6 楼waxic(waxic)回复于 2006-05-09 18:07:02 得分 0
不错,谢谢Top
7 楼mhisky(不见不散)回复于 2006-05-10 15:27:49 得分 0
mark