一.描述
文件的输入与输出在计算机的使用过程中非常的常见,这篇文章我们只介绍一些简单的输入与输出,可以对文件进行基本的操作。首先来明确一下输入与输出的概念:
输入与输出是相对的,一般我们是一程序的控制台作为目标;
输出就是从程序控制台输出到文件中,也就是写入文件(write)
输入就是从文件中输出到程序控制台,也就是读取文件(read)
对于C++而言,我们需要使用头文件fstream。
二.写入文件
1)我们创建一个ofstream对象
2)使用ostream方法来写入,通常使用<<插入运算符(文本形式写入)或者write()(二进制形式写入)
示例:
#include<fstream>
#include<cstdlib>
using namespace std;
int main()
{
ofstream fout;
fout.open("E:\\test.txt", ios_base::app);
//ofstream fout("E:\\test.txt", ios_base::app);
fout<<"Dout"; //写入你想写的内容
fout.close();
system("pause");
return 0;
}
注意:
1)前两行可以等效写成注释中的那一行。
2)open中的第二个参数ios::app,表示内容追加到文本最后,如果不加那么每次写入的内容都会覆盖以前的内容。
3)注意操作完成以后一定要关闭文件,fout.close();
ostream & write(char* buffer, int count);
二进制输入,buffer表示写入文件的二进制数据起始位置,count表示写入字节的个数
三.读取文件
1)我们创建一个ifstream对象
2)使用o、istream方法来写入,通常使用>>插入运算符(文本形式读出)或者read()(二进制形式读出)
示例:
#include<fstream>
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
ifstream fin;
fin.open("E:\\test.txt");
//ifstream fin("E:\\test.txt");
//读取一个字符
// char ch;
// fin>>ch;
// cout<<ch<<'\n'; //输出这个存在ch里的字符
char buf[50];
fin>>buf; //读取一个单词
cout<<buf<<'\n';
// fin.getline(buf,50); //读取一行内容,若果不超过50个字节的话
//cout<<buf;
fin.close();
system("pause");
return 0;
}
注意:
1)前两行可以等效写成注释中的那一行。
2)可以读取单个字符,单个单词,一行内容
3)注意操作完成以后一定要关闭文件,fin.close();
istream & read(char* buffer, int count);
二进制读取,buffer 用于指定读取字节的起始位置,count 指定读取字节的个数。同样,该方法也会返回一个调用该方法的对象的引用。