c语言fopen函数问题
如何判断fopen函数是打开一个文件还是新建一个文件?他们的返回值有什么不同?如何判断是空文件还是新建的文件?...
如何判断fopen函数是打开一个文件还是新建一个文件?他们的返回值有什么不同?如何判断是空文件还是新建的文件?
展开
2个回答
展开全部
fopen函数返回的是一个FILE类型的指针,如果是打开文件,文件不存在的话返回值为空,如果存在就返回指向该文件的指针,如果是新建一个文件,返回值就是新建文件的指针,可以利用该指针实现对文件的读写功能。
至于判断是读还是写,是跟fopen第二个参数决定的,也就是由你自己决定。
代码举例:
FILE *fp;
fp=fopen("D:\\1.txt","r");
"r"代表是读如果D盘下确实有这个文件,fp就是指向该文件的一个指针,如果不存在,就是空。
fp=fopen("D:\\1.tx","w");
"w"表示写,返回值是指向新建文件的指针。
至于判断是读还是写,是跟fopen第二个参数决定的,也就是由你自己决定。
代码举例:
FILE *fp;
fp=fopen("D:\\1.txt","r");
"r"代表是读如果D盘下确实有这个文件,fp就是指向该文件的一个指针,如果不存在,就是空。
fp=fopen("D:\\1.tx","w");
"w"表示写,返回值是指向新建文件的指针。
2012-06-18
展开全部
追问
也就是说新建文件会返回NULL吗?
追答
文件不存在时返回NULL,你可以用fgetc试试,如果是空文件的话返回EOF
http://baike.baidu.com/view/656651.htm
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询