(本文为博闻网版权所有,转载必须注明出处。)

使用fopen可以打开一个文件。fopen以某种指定模式(最常用的三种模式为r、w和a,分别代表读、写和附加)打开文件后,会返回一个文件指针,以后您就用这个文件指针访问这个文件。例如,您要打开一个文件并写入从1到10的数字,可以使用下面的代码:

#include 
#define MAX 10

int main()
{
FILE *f;
int x;
f=fopen("out","w");
if (!f)
return 1;
for(x=1; x<=MAX; x++)
fprintf(f,"%d
\n",x);
fclose(f);
return 0;
}

这里的fopen语句使用w模式打开了一个文件名为out的文件。w是一种破坏性的写入模式,如果out文件不存在,则创建一个;如果out文件已经存在,新的out文件会将以前的out文件覆盖。fopen命令返回一个指向该文件的指针,并赋值给变量f。以后就用这个变量来代表文件。如果由于某种原因无法打开文件,则f的值为NULL。

主函数返回值
上面这个程序是本教程中第一个从主函数返回错误代码的程序。如果fopen命令失败了,f的值将是NULL (0)。我们用if语句检查这个错误。if语句将检查变量f的布尔值。前面讲过,在C语言中,0代表假,其他的任何值代表真。所以如果打开文件时出现了错误,f的值就是零,即为假。!逻辑非运算符,它将一个布尔值取反。于是上面的那个if语句也可以这样写:

if (f == 0)

两者是等价的。不过if (!f)更常见一些。

如果出现了文件错误,我们让主函数返回1。在UNIX下,其实可以在命令行中检查这个返回值。有关详细信息,请参见命令解释程序的文档。

fprintf语句看起来很眼熟吧:它和printf一样,但是用文件指针作为第一个参数。操作结束后用fclose语句关闭文件。




 打印  电子邮件  反馈  引用
编辑推荐
软件狗是什么?
软件狗(Software Dog)是一种计算机软件的加密方式,是“硬件加密锁”的
间谍软件工作原理
您的计算机是否曾变得非常慢,即使打开Word处理器也会占用很长时间,间谍软件可能
什么是路由算法?
路由器是管理网络流量和发送数据包的,但是它是如何决定数据包发送的呢?通过本文,博
Gnutella文件共...
Napster在巅峰时期或许是有史以来最受欢迎的网站。紧随其后的文件共享体系架构
主页 |  公司信息 |  广告服务 |  招聘信息 |  隐私 |  联系我们 |  帮助 |  条款和条件