将字符串解析为int
Parse a string to int
我对编码很陌生,我希望有人能帮助我?我试图在一行空格分隔的整数中读取,并将它们解析为(最终进入链表)向量。
所以一旦我有一个int型向量,有STL向量的迭代器,但我怎么能迭代通过链表中的节点不是STL?
#include <cstdlib>
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
using namespace std;
int main(int argc, char** argv) {
cout << "Enter some integers, space delimited:n";
string someString;
getline(cin, someString);
istringstream stringStream( someString );
vector<string> parsedString;
char splitToken = ' ';
//read throguh the stream
while(!stringstream.eof()){
string subString;
getline( stringStream, subString, splitToken);
if(subString != ""){
parsedString.push_back(subString);
}
}
return EXIT_SUCCESS;
}
stringstream
可以自动处理如下分隔符:
cout << "Enter some integers, space delimited:n";
string someString;
getline(cin, someString);
istringstream stringStream( someString );
vector<int> integers;
int n;
while (stringStream >> n)
integers.push_back(n);
既然是空格分隔符,为什么不直接:
#include <iostream>
using namespace std;
int main() {
int a;
vector<int> v;
while (cin >> a) {
v.push_back(a);
}
for (int i = 0; i < v.size(); ++i) {
int b = v[i];
}
return 0;
}
和BTW, ctrl-D
或非整数输入,如char
,将终止此while
。
相关文章:
- 我如何获取从 C++ 到 C 的映射<字符串、int>#
- 构造<int>具有 2 个字符串文字的向量
- 字符串中int的加法运算
- C++,在int数组中输入字符串或字符会输出0,而不是ascii或error
- cin >> int 给定一个字符串将 int 赋值为 0
- 将字符串中的 int 转换为字母;
- 使用 switch,但我想用字符串而不是 int 进行选择
- 两个数组,int 和 string,如何显示带有对应 int 的字符串?
- 从字符串流中读取具有特定字段宽度的 int
- win 表单应用程序字符串^ 到 int
- C++程序在将 int 与 cin 一起使用时有效,但不能使用字符串
- 将子字符串字符从字符串值转换为 int,然后将其分配给 int 变量
- 将字符串转换为 int 后的随机值
- 如何检查字符串是否正确以将其转换为 int?
- 在乌鸦中获取非Int(字符串)URL资源ID
- 如何使 int 字符串中的每个输入都成为一位数
- 将无符号int+字符串强制转换为无符号char向量
- 如何在C++中连接字符串+int+字符串
- 如何在消息框中使用int字符串?
- 如何在C++中将向量转换为<int>字符串