C でファイルを開き、その内容を文字列 (char*、char[] など) に読み込む最も簡単な方法 (エラーが発生しにくく、コード行数が少なく、どのように解釈してもかまいません) は何ですか?
ベストアンサー1
私はバッファ全体を生のメモリ チャンクとしてメモリにロードし、自分で解析する傾向があります。こうすることで、複数のプラットフォームで標準ライブラリが実行する処理を最適に制御できます。
これは私がこのために使用するスタブです。fseek、ftell、fread のエラー コードも確認することをお勧めします (わかりやすくするために省略しています)。
char * buffer = 0;
long length;
FILE * f = fopen (filename, "rb");
if (f)
{
fseek (f, 0, SEEK_END);
length = ftell (f);
fseek (f, 0, SEEK_SET);
buffer = malloc (length);
if (buffer)
{
fread (buffer, 1, length, f);
}
fclose (f);
}
if (buffer)
{
// start to process your data / extract strings here...
}