2012-05-14 23 views
6

ファイルからの読み込みを処理するときにCプログラミングで頭痛を与えることがあります。ファイルを開くことができない場合Cで読み込むためにファイルを開くには?

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

fdは右、NULLを返します。

私はこれらの2つの方法の違いを理解していませんか?

iが使用する第二の方法は、次のとおり

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

fdがあろう-1エラーがファイルを開く時に発生した場合。

誰でも私にこれを説明するのに十分親切でしょうか? ありがとうございます:)

答えて

10

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

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

+1

私はもっと快適なものを使うべきですよね? fopen()それはそうです。 – appoll

+2

私はそれが良い方法だと思います。はい、エラー時にNULLを返します。失敗した場合は、errnoを調べて理由を調べることができます。 –

関連する問題