C/C++基础学习代码(3)

程序1.

/*
*编写一个函数,其唯一的形参和返回值都是istream&类型。
*该函数应一直读取流直到到达文件结束符为止
*还应该将读到的内容输出到标准输出中,
*以cin为实参来调用测试函数
*/
#include <iostream>
using namespace std;

istream& get(istream& in)
{
    string str;

    while (in >> str && !in.eof())
    {
        if (in.bad())
        {
            throw ("IO stream corrupted");
        }
        else if (in.fail())
        {
            cerr << "bad data, try again";
            in.clear();
            in.ignore(200,' ');
            continue;
        }
        else
        {
            cout << str << endl;
        }

    }
    in.clear();
    return in;
}

int main()
{
    string str;
    get(cin);
    return 0;
}
/****输入****
dewtge4
yryhfue\
hrfh
tjghjr
************/
/****输出****
dewtge4
yryhfue\
hrfh
tjghjr
************/

程序2.

/*
*编写程序将一个list容器的所有元素复制给一个vector容器,
*其中list容器中存储的是指向C风格字符串的char*指针,
*而vector容器的元素则是string类型。
*/


#include <iostream>
#include <vector>
#include <list>
#include <string>

using namespace std;

int main()
{
    char *p[] = {"dewf","fgtrhy","xzcds",",kjjg"};
    list<char*> slist(p,p+4);

    vector<string> svec;
    svec.assign(slist.begin(),slist.end());

    for(vector<string>::iterator iter = svec.begin();iter != svec.end();++iter)
    {
        cout << *iter << endl;
    }

    return 0;
}
/****输出****
dewf
fgtrhy
xzcds
,kjjg
************/

猜你喜欢

转载自blog.csdn.net/walkerkalr/article/details/81152819