发布网友 发布时间: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;
}
//---------------------------------------------------------------------------