今天在論壇里看到這樣一個問題:
要求將字符串 "mallid=310103123456\ntermno=139654785231\norder=00003995\ngcode=0000130\npaydate=20051031\nname=\ncardno=5248000262355365\nlimit=0804\nprice=2210" 以\n為分界符,提取出所有的字符串。
剛好最近在看STL,感覺可以用stream來解決,于是就小試了一下。結果還真令人滿意
。

#include?<iostream>
#include?<sstream>
#include?<vector>
#include?<algorithm>
#include?<ITERATOR>
#define?INPUT_STRING?"mallid=310103123456\ntermno=139654785231\norder=00003995\ngcode=0000130\npaydate=20051031\nname=\ncardno=5248000262355365\nlimit=0804\nprice=2210"
????
typedef?std::vector<std::string>?strvec;
int?_tmain(int?argc,?_TCHAR*?argv[])

{
????using?namespace?std;
????istringstream?iss(INPUT_STRING);
????strvec?strList;
????string?strTemp;
????while(iss?>>?strTemp)
????
{
????????strList.push_back(strTemp);
????}
????????
????????//?out?put?the?result
????copy(strList.begin(),?strList.end(),?ostream_iterator<string>(cout,?"\n"));
????return?0;
}



