この関数を使ってファイルから読み込む方法は?C言語のファイルを読むにはどうすればいいですか
#include <stdio.h>
char* read_from_file (const char* filename, size_t length)
{
//I have this so far
fp = fopen(filename,"r"); // read mode
if(fp == NULL)
{
perror("Error while opening the file.\n");
exit(EXIT_FAILURE);
}
/* what goes in here? */
return NULL;
}
私は、次のガイドラインを実装しようとしている:
それはサイズの長さ+ 1の文字バッファーを割り当てます。
ファイルfilenameを読み取り専用モードで開きます。それは、ファイルを開くために失敗した場合、それがバッファメモリに
の割り当てを解除するには、バッファに長さの文字を読み込み、最後の位置にNULL文字(\ 0)を挿入、ファイルを閉じて、バッファへのポインタを返します。長さの文字の読み込みに失敗すると、バッファメモリの割り当てを解除し、ファイルを閉じてNULLを返します。
したがって、どの機能を使用してメモリを割り当てますか(バッファはメモリのチャンクです)。ファイルを開き、ファイルが正常に開かれた場合にのみメモリを割り当ててください。もちろん、メモリが正常に割り当てられたことを確認する必要があります。どの機能を使用してデータのブロックを読み取ることができますか?メモリを解放するために使用される関数はどれですか?ファイルを閉じるために使用される関数はどれですか?これはすべて非常に簡単です。 –
これは非常に基本的な問題のようです。 'malloc'、' fread'、 'fclose'をチェックしてください。 – BLUEPIXY