开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
QT
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
None
问题(Question):
从上篇发文,我学会了使用istringstream,但在导入上有些观念要询问,
以一个string作范例,如程式码,为了要将此字串分割于阵列里头
使用while(istr>>b[i]),让他"依序"将值导入于阵列,
想问的是之所以会有依序这个动作是他本身函式内建的动作吗?
我原本以为他是搬移,将istr内的搬至b[i],因此有依序
但将istr.str() cout出,却发现他并不是搬移
再来,若我在while loop里面再对另一个阵列c做导入
while(istr>>b[i])
{
istr>>c[i]
会使得我istr又往前一个资料
想清楚厘清这方面的观念
谢谢
程式码(Code):(请善用置底文网页, 记得排版)
#include<iostream>
#include<sstream>
using namespace std;
int main()
{
string s="1 10 22 33";
int b[4],c[4];
istringstream istr;
istr.str(s);
int a=0;
while(istr>>b[a])
{
for(int i=0;i<4;i++)
cout<<b[i]<<"\t";
a++;
cout<<istr.str()<<endl;
}
return(0);
}