c++中如何将一串数字string类转换成整型,

比如我设string str1;比如我输入了123456一串字符 然后想用想用其中的345参见运算
还有我看见说用atoi函数 还好像是C中的 不能直接用于说string

没有财富值啊

C++中可以使用库函数atoi:
一、函数名:atoi
二、函数声明:
int atoi(const char *nptr);
三、头文件:
C语言中用stdio.h。
C++中用cstdio。
四、功能:
将字符串nptr中的字符转成数字并返回。具体过程为:
参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。否则,返回零。
五、参数:
nptr, 要转换的字符串。如果为NULL会出错。
六、返回值:
转换后的整型数值。
七、示例代码:
#include <cstdio>
#include <iostream>
using namespace std;
int main()
{
const char *str = "1234";//要转换的字符串
int r = 0;//转换结果

r = atoi(str);//执行转换

cout << "result is " << r << endl;//输出结果

return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-08-07
你可以先调用string的c_str(),函数,该函数一个指向正规C字符串的指针, 内容与本字符串相同,然后调用atoi()函数就可以了啊,下面是一个简单的测试程序:

#include<iostream>

using namespace std;

int main(){

string str = "12345";

cout << atoi(str.c_str())<<endl;

return ;
}
.本回答被提问者和网友采纳
第2个回答  2011-04-30
转换成数组先追问

怎样转 我不会啊 举个例子 由于我没有财富值 所以没得给你啊

追答

好多年没编了,有点忘记,
你可以用一个稍微笨一点的方法,先用string判断一下有几位,再一位位地取出来,用ele表示取出来的那一位,用atoi(ele)转换成整型,再个位乘以1,十位乘以10,百位乘以100,……加起来。