c++ - 将字符串解析为int

标签 c++ linked-list tokenize istringstream

我对编码还很陌生,我希望有人能帮助我?我试图读取一行空格分隔的整数并将它们解析为(最终解析为链接列表) vector 。

所以一旦我有了一个整数 vector ,就有了STL vector 的迭代器,但是我如何迭代链接列表中不在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);

关于c++ - 将字符串解析为int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16381337/

相关文章:

c++ - 设计和编码一个非碎片化的静态内存池

c++ - LLDB 为局部变量给出 "use of undeclared identifier"错误

c++ - 使用链表 C++ 的导数计算器

java - 在Java中的LinkedList的开头插入一个新节点

python - 在保留换行符和段落结构的同时进行标记化

c++ - 为什么这不会改变 .txt 文件?

c++ - 非静态数据成员和一个定义规则

无法在双向链表中从尾部遍历到头部

machine-learning - 当未分配时如何找到 "num_words"或 Keras 分词器的词汇量大小?

c - 打印txt文件的校验和而不打印文件路径