C++ 中如何把一个string 中的几串数字都转化成int?

举个里子 如果 s=“123 456 789” 我能分别得到123,456,789且为int。
2024-11-09 04:52:59
推荐回答(2个)
回答(1):

#include

#include

#include

using namespace std;

int main()

{

string s="123 222 555 333 666 77765";

int k=0,j=0,b[20],x=0;

char a[11][20],t[50];

for(string::iterator iter = s.begin(); iter!=s.end(); iter++) //使用迭代器

t[x++]=*iter;//将string类中的字符串存入数组t中; 

for(int i=0;i

{

if(t[i]!=' ')

a[k][j++]=t[i];//将数组t中的每个非空格的字符存入二维数组的每一行, 

else//遇到空格换行 

{

k++;

j=0;

}

}

for(int i=0;i<=k;i++)

b[i]=atoi(a[i]);//字符串转化为整数;函数atoi 

for(int i=0;i<=k;i++)

printf("%d\n",b[i]);

}

回答(2):

string的find函数查找空格,substr函数进行截取,然后通过atoi函数进行转换为整形。