C++文件和流
-
ofstream 从输出文件流,用于创建文件并向文件写入信息。
-
ifstream 输入文件流,用于从文件读取信息。
-
fstream 文件流,且同时具有 ofstream 和 ifstream 两种功能,这意味着它可以创建文件,向文件写入信息,从文件读取信息。
打开文件
void open(const char *filename, ios::openmode mode);//文件名和模式
模式
app:追加
ate:文件打开后定位到文件末尾
in:读取
out:写入
trunc:如果该文件已经存在,其内容将在打开文件之前被截断,即把文件长度设为 0。
可以结合,比如读写
ifstream afile;
afile.open("file.dat", ios::out | ios::in );
关闭文件
自动关闭刷新所有流,释放所有分配的内存,并关闭所有打开的文件
close() 函数是 fstream、ifstream 和 ofstream 对象的一个成员。
void close();
写入文件
(<<) , ofstream或fstream
读取文件
(>>) , ifstream 或 fstream 对象
实例
#include <fstream>
#include <iostream>
using namespace std;
int main ()
{
char data[100];
// 以写模式打开文件
ofstream outfile;//一个对象
outfile.open("afile.dat");
cout << "Writing to the file" << endl;
cout << "Enter your name: ";
cin.getline(data, 100);
// 向文件写入用户输入的数据
outfile << data << endl;
cout << "Enter your age: ";
cin >> data;
cin.ignore();
// 再次向文件写入用户输入的数据
outfile << data << endl;
// 关闭打开的文件
outfile.close();
// 以读模式打开文件
ifstream infile;
infile.open("afile.dat");
cout << "Reading from the file" << endl;
infile >> data;
// 在屏幕上写入数据
cout << data << endl;
// 再次从文件读取数据,并显示它
infile >> data;
cout << data << endl;
// 关闭打开的文件
infile.close();
return 0;
}
上面的实例中使用了 cin 对象的附加函数,比如 getline()函数从外部读取一行,ignore() 函数会忽略掉之前读语句留下的多余字符。
文件位置和指针
没啥用