我想通过从用户导入文件名来创建文件,请帮助

int file_name;
printf("Enter ID NUMBER : ");
scanf("%d",&file_name);
FILE *fin;
fin = fopen(&file_name , "w");

最佳答案

在这里

FILE *fin;
fin = fopen(&file_name , "w"); /* this is wrong, since &file_name is of int* type */

fopen()需要char*类型的第一个参数,但您提供的int*类型是错误的,编译器已将其正确报告为
错误:传递不兼容的指针类型
'int *''const char *'类型的参数
[-Wincompatible指针类型]
如果你能像
-Wall -Wpedantic -Werror。从fopen()的手册页
文件*fopen(const char*路径名,const char*模式);
file_name声明为字符数组并将文件名存储到其中。
char file_name[1024]; /* take a char array to store file name */
/* @TODO : store actual file name into file_name array */
FILE *fin = fopen(file_name , "w");
if(fin == NULL) {
  /* @TODO : error handling */
}

关于c - 如何编写一个c程序来创建文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55835510/

10-13 03:31