C でファイルのバイトを Char 配列に取得する方法
getline() を使用せずにファイルのバイトを char 配列に読み取るには、次のことを考慮してください。 ifstream::read() を使用します。次の手順に従ってください:
ファイルを開きます:
<code class="cpp">std::ifstream infile("C:\MyFile.csv");</code>
ファイルの長さを取得します:
<code class="cpp">infile.seekg(0, std::ios::end); size_t length = infile.tellg(); infile.seekg(0, std::ios::beg);</code>
バッファ サイズを確認します:
<code class="cpp">if (length > sizeof (buffer)) { length = sizeof (buffer); }</code>
ファイルを読み取ります:
<code class="cpp">infile.read(buffer, length);</code>
追加メモ:
更新されたアプローチ (2019):
読み取り中の潜在的なエラーを考慮するには、次のアプローチを検討してください:
<code class="cpp">size_t chars_read; if (!(infile.read(buffer, sizeof(buffer)))) { if (!infile.eof()) { // Handle error during reading } } chars_read = infile.gcount(); // Get actual number of bytes read</code>
以上がgetline() を使用せずに C でファイルバイトを Char 配列に読み取る方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。