1
最近我一直在爲我的決賽寫作片段。其中一個常見任務是將一個字符串(std :: string)分解爲單詞。在某些情況下,這些字符串可以包含整數。劃分文字不正確地與零工作
我寫了一個片段:
#include <sstream>
#include <iostream>
#include <vector>
using namespace std;
int main(void)
{
string str="23 005 123";
vector<int>myints;
istringstream iss(str);
string word;
while(iss>>word)
{
int a;
istringstream(word)>>a;
myints.push_back(a);
}
for (vector<int>::iterator it=myints.begin();it!=myints.end();++it)
cout<<*it<<" ";
}
它的工作原理,但有一個問題。我從str而不是005得到了5個。似乎VC++縮小了所有的零。如何避免它只使用C++函數(而不是string.h/cstring中的strtok)?
我在MS VC++ 2008和gcc上都能找到它。
謝謝!
非常感謝,它的工作原理! – ka2m 2013-03-08 06:57:55