首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

!关于istrstream的应用有关问题

2012-02-22 
!!!!!!!!关于istrstream的应用问题先给出istrstream一个简单的应用,问:能否扩展其应用?//应用1#includeio

!!!!!!!!关于istrstream的应用问题
先给出istrstream一个简单的应用,
问:能否扩展其应用?

//应用1
#include   <iostream.h>
#include   <strstrea.h>

void   main()
{
        char   *str   =   "1234   100.35 ";
        istrstream   inp(str);

        int   nNumber;
        float   balance;

        inp   > >   nNumber;
        inp   > >   balance;

        cout   < <   nNumber   < <   '   '   < <   balance   < <   endl;
}

//应用2,可以利用istrstream分别将str中的1存到array1、1   2存到array2、1   2   3存到array3中么?如果不行能详细给个更好的方法吗?
#include   <iostream.h>
#include   <strstrea.h>

void   main()
{
        char   *str   =   "1   1,2   1,2,3 ";
        int   array1[1];
        int   array2[2];
        int   array3[3];
//...
}

[解决办法]
用流直接给数组赋值当然有非常简单的办法:用istream_iterator加copy等泛型算法。
[解决办法]
#include <sstream>
#include <vector>
#include <iostream>
#include <string>
#include <iterator>
using namespace std;

int main(void)
{
char *str = "1234 100 35 ";
istringstream inp(str);
vector <int> vec;

copy(istream_iterator <int> (inp), istream_iterator <int> (), back_inserter(vec));
copy(vec.begin(), vec.end(), ostream_iterator <int> (cout, ", "));
cout < < endl;

return 0;
}

热点排行