溫馨提示×

c++輸入文件流ifstream用法詳解

小億
242
2024-01-02 16:11:31
欄目: 編程語言

ifstream是C++標(biāo)準(zhǔn)庫中的一個輸入文件流類,用于從文件中讀取數(shù)據(jù)。它提供了一系列函數(shù)和操作符,用于打開文件、讀取數(shù)據(jù)、操作文件指針等。下面是ifstream的用法詳解。

  1. ifstream類的頭文件: #include <fstream>

  2. 創(chuàng)建ifstream對象: ifstream inputFile;

  3. 打開文件: inputFile.open("filename"); 或者 inputFile.open("filename", ios::in); 這里的"filename"是要讀取的文件名。

  4. 檢查文件是否成功打開:

    if (inputFile.is_open()) {
        // 文件打開成功
    } else {
        // 文件打開失敗
    }
    
  5. 從文件中讀取數(shù)據(jù):

    int data;
    inputFile >> data;
    

    或者

    string line;
    getline(inputFile, line);
    

    第一種用法可以用于讀取整數(shù)、浮點數(shù)等基本類型數(shù)據(jù),第二種用法可以用于讀取字符串。

  6. 關(guān)閉文件: inputFile.close();

上述是ifstream的基本用法,下面是一些常用的操作函數(shù):

  • good():檢查文件是否打開成功。
  • eof():檢查是否到達(dá)文件末尾。
  • fail():檢查讀取失敗。
  • clear():清除錯誤狀態(tài)標(biāo)志。
  • ignore(n, delim):跳過n個字符或者直到遇到定界符delim。

示例代碼:

#include <iostream>
#include <fstream>

using namespace std;

int main() {
    ifstream inputFile;
    inputFile.open("input.txt");

    if (inputFile.is_open()) {
        int data;
        while (inputFile >> data) {
            cout << data << " ";
        }
        inputFile.close();
    } else {
        cout << "File open failed." << endl;
    }

    return 0;
}

以上是ifstream的基本用法和一些常用操作函數(shù)的詳解。使用ifstream可以方便地從文件中讀取數(shù)據(jù)。

0