C语言 不能在同一程序中使用fopen和mkdir

66bbxpm5  于 2023-11-16  发布在  其他
关注(0)|答案(1)|浏览(107)

我正在创建具有有效语法可能性的文件,这些文件可以在以后编译。我首先使用fopen方法创建文件,然后添加mkdir()函数来处理文件创建。然而,我遇到了一个奇怪的问题,我不能在同一个程序中同时使用这两个函数。编译器似乎更喜欢只执行fopen函数。值得注意的是,这两个函数都工作正常你能告诉我为什么会这样吗

#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>

int main(){
    FILE *fprt;
    char *filename = "File";

    fprt = fopen(filename,"w");

    if (!fprt ) // equivalent to saying if ( in_file == NULL )
             { 
                printf("oops, file can't be read\n");
             }

    mkdir(filename,0777);
    printf("\n");
}

字符串

atmip9wb

atmip9wb1#

你可以在同一个程序中使用fopenmkdir
您不能在同一位置**创建同名的文件夹和文件。
你遇到了后者作为一个问题,误解了它,认为前者。mkdir创建一个文件夹,它代表
创建目录
你将不能用它创建一个文件。所以,你可能想要的是创建一个目录,然后在其中创建一个文件。但是,你需要先创建目录,然后创建文件,并确保你创建的文件的路径包含你希望它被创建到的目录。

相关问题