#include <iostream>
#include <vector>
#include <string>
#include <sstream>
using namespace std;
int main(){
string a = " test 1234 test 5678";
stringstream strstr(a);
string test;
vector<int>numvec;
int num;
while(strstr>>num || !strstr.eof()){
if(strstr.fail()){
strstr.clear();
string kpz;
strstr>>kpz;
}
numvec.push_back(num);
}
for(int i = 0;numvec.size();++i){
cout<<numvec[i]<<'\t';
}
}
在這個程序中,我試圖解析僅值「1234」和「5678」,從有串詞中有一個字符串流和輸出這些值分析號碼。我把值放在一個Integer向量中,後來我從向量中輸出這些值,然而,輸出是在前幾行中,它向我顯示了值,但是,然後,我得到了很多零,我從未見過這樣的錯誤,它看起來非常有趣,所以我的問題是:爲什麼我沒有得到值「1234」和「5678」作爲想要的輸出? (這是程序僅顯示那些值而不是由錯誤引起的大量零)以及爲什麼會發生此錯誤?未能從字符串流,並將其輸出正確C++
預先感謝幫助。
在'for'循環的條件永遠是隻要真正爲'numvec'不爲空。你很可能意味着'我
謝謝,沒有注意到。 – zLeon