【发布时间】:2013-05-05 04:14:25
【问题描述】:
我对编码很陌生,我希望有人能帮助我吗?我正在尝试读取一行以空格分隔的整数并将它们解析为(最终成为链表)一个向量。
所以一旦我有了一个整数向量,就有了 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;
}
【问题讨论】:
-
稍后提醒自己:
std::istream_iterator<std::string> first(stringStream), last; std::vector<std::string> parsedString(first, last);用于将字符串拆分到容器中(尽管我认为这不是您真正想要做的)。这个网站上的一个热门问题还有其他方法。 -
为什么不只是
int a; while (cin >> a) { // do something } -
你想自己实现链表吗?
-
“想要”这个词不完全是……但是,我是一名学生,我的教授坚持以最艰难的方式做所有事情……
标签: c++ linked-list tokenize istringstream