C++输入输出可以使用cin,cout,也可以使用C语言的scanf和printf。这里介绍使用输入输出迭代器进行输入输出。
迭代器
迭代器代表广义指针,可以完成常规指针的所有操作。C++的STL定义了5中迭代器:(1)输入迭代器。(2)输出迭代器。(3)正向迭代器。(4)双向迭代器。(5)随机访问迭代器。这些包含在头文件iterator中。
输入迭代器
输入迭代器指向某个输入流,因此可以用输入迭代器进行程序的输入。
输入迭代器的定义方式:istream_iterator<int,char> 。其中第一个参数指出要读取的数据类型,第二个参数指出输入流要使用的类型为字符。在定义一个输入迭代器变量时,可以通过构造函数指定该变量指向的输入流。输入流可以是cin,也可以是文件,也可以是某个容器。
通过输入迭代器从cin中读取一个int,这里使用了typedef。
#include<iostream>
#include<cstdio>
#include<iterator>
#include<fstream>
#include<string>
using namespace std;
typedef istream_iterator<int, char> input_int; //读取int
typedef istream_iterator<char, char> input_char; //读取char
typedef istream_iterator<string, char>