ホームページ >バックエンド開発 >C++ >バイナリ ファイルとテキスト ファイルの書き込み: データ処理における主な違いは何ですか?

バイナリ ファイルとテキスト ファイルの書き込み: データ処理における主な違いは何ですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-25 14:14:09893ブラウズ

Binary vs. Text File Writing: What are the Key Differences in Data Handling?

バイナリ モードとテキスト モードのファイル書き込みの違いを理解する

データをファイルに書き込むとき、プログラマはバイナリ モードとテキスト モードのどちらかを選択できます。バイナリ モードでは、変更を加えずにデータを直接転送できますが、テキスト モードでは MS Visual C に固有の特定の変換が組み込まれています。

データをファイルに書き込む次のコード スニペットを考えてみましょう。

unsigned char buffer[256];
for (int i = 0; i < 256; i++) buffer[i] = i;
int size = 1;
int count = 256;

バイナリ モードでは、データはファイルに直接書き込まれます。

FILE *fp_binary = fopen(filename, "wb");
fwrite(buffer, size, count, fp_binary);

ただし、テキスト モードでは、データは書き込まれる前に特定の翻訳が行われます:

FILE *fp_text = fopen(filename, "wt");
fwrite(buffer, size, count, fp_text);

特に Windows では、ファイルをテキスト モードで開くと次の翻訳が行われます:

  • 改行 ('n') は変換されます
  • キャリッジ リターン/ライン フィード シーケンスは、出力ではライン フィードに変換されます。 input.
  • 追加モードでは、ファイルの末尾に Ctrl Z 文字 ('x1A') があるかどうかがチェックされます。存在する場合は削除され、文字はファイルの終わりとして扱われます。ただし、ファイルには追加されません。

以上がバイナリ ファイルとテキスト ファイルの書き込み: データ処理における主な違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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