ホームページ  >  記事  >  バックエンド開発  >  C++ のファイル ストリームを理解する

C++ のファイル ストリームを理解する

王林
王林オリジナル
2023-08-21 23:15:161428ブラウズ

C のファイル ストリームは便利なデータ入出力メソッドであり、ファイル内のデータはファイル ストリームを通じて読み書きできます。 C では、ファイル ストリームには主に iostream ライブラリと fstream ライブラリが含まれます。

iostream ライブラリは主にコンソールの入出力を担当し、fstream ライブラリはファイルの入出力を担当します。 fstream ライブラリは iostream ライブラリに含まれているため、ヘッダー ファイル または のいずれかを含める必要があるだけです。

C ではファイルを操作するためにストリーム オブジェクトを使用する必要がありますが、ファイル ストリームはファイルに関連付けられたストリーム オブジェクトであり、ファイル ストリーム オブジェクトを通じてファイルの読み書きを行うことができます。データを入力します。ファイル ストリームには、読み取りファイル ストリーム (ifstream) と書き込みファイル ストリーム (ofstream) の 2 種類があり、どちらも基本ファイル ストリーム (fstream) から派生します。

ファイル ストリームの読み取りおよび書き込み操作を実行する場合は、最初にファイルを開く必要があることに注意してください。ファイルは open() 関数を使用して開くことができます。一般に、ファイルが正常に開かれた後、読み取りまたは書き込み操作を実行する必要があり、操作が完了した後、close() 関数を使用してファイル ストリーム オブジェクトを閉じる必要があります。

次に、ファイル ストリームの一般的な操作をいくつか見てみましょう:

  1. ファイルを開く

C でファイルを開く方法fstream ライブラリ オブジェクトを使用する方法と、C 言語関数ライブラリを使用する方法の 2 種類があります。

fstream ライブラリを使用する:

#include <fstream>
using namespace std;

int main() {
  ofstream fileOut; //写入文件流对象
  fileOut.open("test.txt"); //以写模式打开文件
  fileOut.close(); //关闭文件
  ifstream fileIn; //读取文件流对象
  fileIn.open("test.txt"); //以读模式打开文件
  fileIn.close(); //关闭文件
  return 0;
}

C 関数ライブラリを使用する:

#include <stdio.h>

int main() {
  FILE* fp; //文件指针
  fp = fopen("test.txt", "w"); //以写模式打开文件
  fclose(fp); //关闭文件
  fp = fopen("test.txt", "r"); //以读模式打开文件
  fclose(fp); //关闭文件
  return 0;
}
  1. ファイルを書き込む

ofstream のオブジェクトを使用できます。 class ファイルへのデータの書き込みを実装します。 「<<」演算子を使用してデータを書き込むことができます。記述するとき、演算子の左側または右側に文字列、文字、値、または変数を追加できます。

#include <fstream>
using namespace std;

int main() {
  ofstream fileOut; //写入文件流对象
  fileOut.open("test.txt"); //打开文件
  if (fileOut.is_open()) { //判断文件是否成功打开
    fileOut << "Hello world"; //写入数据
    fileOut.close(); //关闭文件
    return 0;
  } else {
    return -1;
  }
}
  1. ファイルの読み取り

ifstream クラスのオブジェクトを使用すると、ファイルからデータを読み取ることができます。 「<<」演算子はデータの読み取りにも使用でき、読み取り時にデータをすでに定義されている変数に読み取ることができます。

#include <fstream>
#include <iostream>
using namespace std;

int main() {
  ifstream fileIn; //读取文件流对象
  fileIn.open("test.txt"); //打开文件
  if (fileIn.is_open()) {
    char ch; //定义变量用来存放读取的字符
    while (fileIn >> ch) { //逐个读取字符
      cout << ch; //输出读取的字符
    }
    fileIn.close(); //关闭文件
    return 0;
  } else {
    return -1;
  }
}

上記は、C におけるファイル ストリームの基本的な知識です。ファイル ストリームの読み取りおよび書き込み操作を通じて、実際のプログラミングのニーズに合わせてファイル内のデータをより便利に処理できます。

以上がC++ のファイル ストリームを理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。