我遇到了这个C代码的问题。我正在创建一个文件,我想同时给它一个名字。但有些东西不起作用 - 它不会使用所选名称创建此文件。其余的代码工作正常。
FILE *InputRef;
char outputFilename[]; // Creates a char
printf("Enter the name of your file"); // It asks for a name
outputFilename=getchar(); // And here I want to enter the file name
InputRef = fopen(outputFilename, "w"); //
答案 0 :(得分:0)
您的代码中存在错误,数组声明应包含数组的大小,如char outputFilename [36],而getchar()仅用于读取一个字符,请尝试使用gets(outputFileName)
答案 1 :(得分:0)
#include <stdio.h>
#define MAXVAL 100
void main()
{
FILE *InputRef;
char outputFilename[MAXVAL];
printf("Enter the name of your file");
fgets(outputFilename, MAXVAL, stdin);
InputRef = fopen(outputFilename, "w")) ;
}
答案 2 :(得分:0)
所以我弄清楚上面发布的代码有什么问题。获取文件名时,应使用gets()而不是fgets()。
所以不要写:
fgets(outputFilename, MAXVAL, stdin);
应该写:
gets(outputFilename);