永发信息网

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

答案:6  悬赏:70  手机版
解决时间 2021-03-21 11:18
  • 提问者网友:太高姿态
  • 2021-03-20 11:19
C语言如果文件如果不存在,则新建再写入数据,存在则使用怎么编?
最佳答案
  • 五星知识达人网友:天凉才是好个秋
  • 2021-03-20 12:47
#include
#include
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.
");exit(0);}//新建文件出问题,退出程序

fputs("
123456789000
",fp);//试验数据,文件存在时尝试,文件不存在时尝试 fclose(fp);
return 0;
}

全部回答
  • 1楼网友:千夜
  • 2021-03-20 16:34
存在就覆盖。
  • 2楼网友:低音帝王
  • 2021-03-20 16:20
#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楼网友:旧脸谱
  • 2021-03-20 15:25
你想要做什么?
如果是打开的文本文件,使用fopen("xxxxxxx","a+")就可以了,xxxx是文件名(包含路径)
如果是在文件末尾追加数据,使用fopen("xxxxxx","at+")
好好看看fopen函数的参数说明,应该能满足你的要求
  • 4楼网友:拾荒鲤
  • 2021-03-20 15:05


看看这个mode参数的详细解释,若不存在就新建的话,用"w"就行了
  • 5楼网友:轮獄道
  • 2021-03-20 13:29
FILE*fp=fopen(dir,type)
其中dir是路径
对于此功能type可以用"a"
功能是文件存在就可在末尾写内容,不存在就新建再写
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯