今晚看了关于C++流操作的知识,C++语言系统尉氏县流的输入和输出操作定义了一个庞大的类群。
其中ios为所有流操作的基类,
ios类的子类包括输入流基类istream、输出流基类ostream、文件流基类fstream和字符串流基类strstream。
通过以上四个基类两两组合产生输入输出流iostream、输入文件类ifstream、输出文件类ofstream、输入字符串类istrstream、输出字符串类ostrstream
文件类、字符串类又细分为输入输出文件类iofstream、输入输出字符串类iostrstream。
书后面有道练习题:“使用文件流的相关操作完成文件的扩充。要求:将文件A中的每一个字符重复两次输入到文件B中。”尽管这道题挺简单的,可是也花费了我一个小时的时间去做,原因主要是在对知识的理解并不充分,再学习之后总算是弄出结果了,下面是我写的代码,当成自己的学习笔记,也算是学习输出了。
#include <iostream>
#include <fstream>
using namespace std;
int main(void)
{
char ch;
ifstream file1;
ofstream file2;
file1.open("3.txt");
while (file1.get(ch))
{
cout << ch;
file2.open("4.txt",ios::app);
file2.put(ch);
file2.put(ch);
file2.close();
}
file1.close();
system("pause");
return 0;
}
图1 3.txt文件内容
图2运行程序后的4.txt文件内容
图3 运行后输出的结果