C语言如果文件如果不存在,则新建再写入数据,存在则使用怎么编?

如题所述

看看这个mode参数的详细解释,若不存在就新建的话,用"w"就行了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-21

#include <stdio.h>

#include <stdlib.h>

int main(int argc, char *argv[])

{

FILE *fp; 

if((fp=fopen("f:\\ok.txt","a+"))==NULL)//如果文件存在,追加数据

if((fp=fopen("f:\\ok.txt","w+"))==NULL)//如果文件不存在,新建文件,写数据

{printf("Can not open file.\n");exit(0);}//新建文件出问题,退出程序

fputs("\n123456789000\n",fp);//试验数据,文件存在时尝试,文件不存在时尝试

fclose(fp);

return 0;

}


本回答被网友采纳
第2个回答  2012-11-29
#include "stdio.h"
main()
{ FILE *fp;
fp=fopen("file.txt","w"); //文件打开方式采用w,这样如果文件file.txt不存在,则自动新建文件
// 对文件进行写操作
fclose(fp);
}追问

if((fp=fopen("file.txt","r"))=NULL)
{......}
printf(“........”);
如果没有file文件下面的printf还能执行么?

追答

if((fp=fopen("file.txt","r"))=NULL)
{ exit(0); }
假若你的程序代码中有exit(0)这条语句的话,
如果没有file文件下面的printf不执行。
若没有exit(0)语句,则执行

第3个回答  2017-07-20
FILE*fp=fopen(dir,type)
其中dir是路径
对于此功能type可以用"a"
功能是文件存在就可在末尾写内容,不存在就新建再写
第4个回答  2012-11-29
你想要做什么?
如果是打开的文本文件,使用fopen("xxxxxxx","a+")就可以了,xxxx是文件名(包含路径)
如果是在文件末尾追加数据,使用fopen("xxxxxx","at+")
好好看看fopen函数的参数说明,应该能满足你的要求
相似回答