Skip to content

8.4 文件流操作-fstream

发布时间:

基础用例1:

js
#include <fstream>  // ofstream  ifstream 类需要包含的头文件。
using namespace std;
int main() {
    ofstream fout;
    ifstream fin;
    fout.open("fstream_out.txt");
    fin.open("fstream_in.txt");
    int a;
    fin >> a;
    fout << a;
    fout.close();
    fin.close();
    return 0;
}


   

进阶用例2:

js
#include <fstream>  // ifstream 类需要包含的头文件。
#include <iostream>
#include <string>  //getline() 函数需要包含的头文件。
using namespace std;
int main() {
    ifstream fin;
    fin.open("fstream_in.txt");
    ofstream fout;
    fout.open("fstream_out.txt");
    if (fin.is_open() == false) {  // 失败原因 1 目录不存在,2 磁盘空间已满,3 没权限,Linux平台常见。
        cout << " 打开文件失败" << endl;
    }

    // 第一种方法
    string buffer;
    while (getline(fin, buffer)) {
        cout << buffer << endl;
    }

    // 第二种方法
    char buffers[101];  // 存放从文件中读取的内容
    // 注意:如果采用ifstream.getline(),一定要保证缓冲区足够大。
    // getline 为fin 的getling 不是string包中的getline()
    while (fin.getline(buffers, 100)) {  
        cout << buffers << endl;
    }

    // 第三种方法 第一种的简写
    string buffer3;
    while(fin>>buffer3){
     cout<<buffer3<<endl;
    }

    fin.close();
    cout << "文件操作完成" << endl;
    return 0;
}