如何创建文件并同时为其命名

时间:2015-04-30 10:52:15

标签: file

我遇到了这个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"); // 

3 个答案:

答案 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);
相关问题