C言語でファイルの内容を文字列に読み込むにはどうすればいいですか? 質問する

C言語でファイルの内容を文字列に読み込むにはどうすればいいですか? 質問する

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...
}

おすすめ記事