如何在C中打开文件进行阅读?

时间:2012-05-14 21:03:35

标签: c gcc

当我处理从文件中读取时,有一件事让我在C编程中感到头痛。

我不明白这两种方法之间的区别:

FILE *fd;
fd=fopen(name,"r");  // "r" for reading from file, "w" for writing to file
                      //"a" to edit the file
如果文件无法打开,

fd返回NULL,对吗?

我使用的第二种方法是:

int fd;
fd=open(name,O_RDONLY); 
如果在打开文件时发生错误,

fd将为-1。

有人会善意向我解释这个吗? 在此先感谢:)

1 个答案:

答案 0 :(得分:10)

使用fopen()允许您使用C stdio库,这比直接使用文件描述符更方便。例如,没有内置的等价于带有文件描述符的fprintf(...)。

除非您需要执行低级I / O,否则stdio函数可以很好地服务于绝大多数应用程序。它更方便,而且在正常情况下,正确使用时也一样快。