ifstream::read() を使用してファイルのすべてのバイトを Char 配列に読み取る方法は?

Susan Sarandon
リリース: 2024-11-02 14:32:30
オリジナル
419 人が閲覧しました

How to Read All Bytes of a File into a Char Array Using ifstream::read()?

ファイルのすべてのバイトを Char 配列に読み取る

inputFile 文字列に格納されたファイル パスと文字配列バッファーを指定すると、事前定義されたサイズについては、この質問ではファイルのバイトをバッファに読み取る方法を検討します。

一般的なファイル読み取りの推奨アプローチは、std::vector を利用することです。および std::istreambuf_iterator。ただし、バイトをストリームとして読み取る必要があるシナリオもあります。

バイト アクセスの ifstream::read()

ファイルをバイト ストリームとしてキャプチャするには、 ifstream::read() が使用されます:

<code class="cpp">// Open file
std::ifstream infile(inputFile);
infile.seekg(0, std::ios::end);
size_t length = infile.tellg();
infile.seekg(0, std::ios::beg);

// Read file
infile.read(buffer, length);</code>
ログイン後にコピー

Seekg() と Tellg() について

seekg() と Tellg() は、ファイルサイズ。ただし、tellg() はすべての状況で正確なファイル サイズを保証するわけではないことに注意することが重要です。

バイナリ モードに関する考慮事項

ファイルを開くときは、次のことを考慮してください。 std::ios_base::binary を使用してバイナリ モードを有効にし、バイト数に影響を与える可能性のある文字変換を防止します。

バッファ読み取りの処理

複数のバッファ読み取りが使用されている場合、 std::ifstream::gcount() を使用して読み取られた文字数を追跡することが重要です。

以上がifstream::read() を使用してファイルのすべてのバイトを Char 配列に読み取る方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!