#include <iomanip>
#include <iostream>
#include <vector>
#include <deque>
using namespace std;
void Stringsplit(string str,const char split,vector<string>& rst)
{
istringstream iss(str); // 输入流
string token; // 接收缓冲区
while (getline(iss, token, split)) // 以split为分隔符
{
rst.push_back(token);
}
}
int main() {
string mystr;
getline(cin, mystr, '\n');//一次读取一行
cout << "getline:" << endl;
cout << mystr << endl;
vector<string> strList;
Stringsplit(mystr, ' ', strList); // 以空格为分割 将子串存放到strList中
int res[strList.size()]; //结果数组 将分割后的strList转化为int 并保存到此数组中
for (int i = 0; i < strList.size(); ++i) {
res[i]=atoi(strList.at(i).c_str());//将string转为int
}
cout << "res:" << endl;
for (auto out:res) {
cout<<out<<" ";
}
cout << endl;
}
c++ 一次性读入一行数字 并转换成int数组
最新推荐文章于 2023-03-27 16:42:48 发布
该博客主要展示了如何使用C++进行字符串分割和转换。通过`Stringsplit`函数,以空格为分隔符将输入的字符串分解为多个子串,并存储到`vector<string>`中。之后,将这些字符串转换为整数并存储到数组`res`中。示例中,从用户输入读取一行,然后处理并打印出转换后的整数序列。
摘要由CSDN通过智能技术生成