c++将包含多个数字的string,分离出数字。数字个数不定。
发布网友
发布时间:2023-11-03 08:21
我来回答
共3个回答
热心网友
时间:2024-12-14 23:14
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int arr[100];
int main()
{
int k=0;
cout<<"请输入一段字符串"<<endl;
string a;
getline(cin,a);
int len=a.size();
for(int i=0;i<len;i++)
if(a[i]>='0'&&a[i]<='9')arr[k++]=a[i]-'0';
for(int i=0;i<k;i++)
cout<<arr[i]<<" ";
cout<<endl;
return 0;
}
追问显然是不对的,这样出来是单独的每个数字。
比如输入55 那么他就分离出两个5了
热心网友
时间:2024-12-14 23:15
#include <iostream>
#include <string> // string
#include <algorithm> // copy
#include <sstream> // istringstream
#include <iterator> // istream_iterator
using namespace std ;
int main() {
string str = "12 44 4 5 23 4 4" ;
int sz[24] = { 0 } ;
// 复制str整型值到int数组
copy( istream_iterator<int>( istringstream( str ) ), istream_iterator<int>(), sz ) ;
// 把int数组内容打印到cout
copy( sz, sz + str.size(), ostream_iterator<int>( cout, " " ) ) ; // 输出12 44 4 5 23 4 4
}追问copy( istream_iterator( istringstream( str ) ), istream_iterator(), sz ) ;
这个函数报错了,没有匹配的函数
热心网友
时间:2024-12-14 23:15
分割字符串,用空格做标识来做分割。分割后每一小段字符串转成数字赋值给数组。