6

私がファイルからの読み取りを扱うとき、Cプログラミングで頭痛の種になることがあります。

これら2つの方法の違いがわかりません。

FILE *fd;
fd=fopen(name,"r");  // "r" for reading from file, "w" for writing to file
                      //"a" to edit the file

ファイルを開くことができない場合、fdはNULLを返しますよね?

私が使用する2番目の方法は次のとおりです。

int fd;
fd=open(name,O_RDONLY); 

ファイルを開くときにエラーが発生した場合、fdは-1になります。

誰かが私にこれを説明するのに十分親切ですか?前もって感謝します:)

4

1 に答える 1

10

fopen()を使用すると、C stdioライブラリを使用できます。これは、ファイル記述子を直接操作するよりもはるかに便利です。たとえば、ファイル記述子を持つfprintf(...)に相当する組み込みのものはありません。

低レベルのI/Oを実行する必要がない限り、stdio関数は大部分のアプリケーションに非常によく役立ちます。これはより便利で、通常の場合、正しく使用すると同じくらい高速になります。

于 2012-05-14T21:09:32.847 に答える