C语言文件写入

发布网友 发布时间:2022-04-23 12:19

我来回答

5个回答

热心网友 时间:2023-09-17 13:46

#include"stdio.h"
#include<string.h>

main()
{
FILE *text;
char data[10];
printf("请输入你要建立的文本名字:");
scanf("%s",data);
printf("%s",data);
if((text=fopen(data,"w"))==NULL) 这里 你原先的判断就是说 成功的时候报错 还有data的引号去掉 data是个变量
{
printf("文件打开失败\n");
}
}

热心网友 时间:2023-09-17 13:46

fopen()错误时返回NULL,而你的代码的意思是fopen()执行成功就显示“文件打开失败”。
应该把那句改为:
if((text=fopen("data","w+"))==NULL)

要把文件放到桌面,就更改一下"data"就好,将其改为“C:\Users\用户名\Desktop\data”。

热心网友 时间:2023-09-17 13:47

if(text=fopen("data","w+"))这句去掉data两侧的引号->if(text=fopen(data,"w+"))

热心网友 时间:2023-09-17 13:47

if(text=fopen("data","w+"))
请去掉data前后的引号。

热心网友 时间:2023-09-17 13:48

text=fopen("data","w+")
改为
text=fopen(data,"w+")

if(text=fopen("data","w+"))
改为
if((text=fopen(data,"w+"))==NULL)

另外,在桌面上新建文件可以手动指定位置(即在输入文件名连同目录一起输入),或者使用系统环境变量,如下:

//---------------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void)
{
char path[512],data[10];
FILE *text;

//寻找桌面文件夹的位置并保存到path数组中
strcat(strcat(strcpy(path,getenv("HOMEDRIVE")),getenv("HOMEPATH")),"\\desktop\\");

printf("请输入你要建立的文本名字:");
scanf("%s",data);

//在桌面上打开data文件
if((text=fopen(strcat(path,data),"w+"))==NULL)
{printf("文件打开失败\n");
}

fclose(text);
return 0;
}
//---------------------------------------------------------------------------

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com