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

问题描述 投票:0回答:1

我正在努力创建具有有效语法可能性的文件,以便稍后进行编译。我首先使用 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");
}
c file syntax fopen mkdir
1个回答
0
投票

可以在同一程序中使用

fopen
mkdir

不能在同一位置创建同名的文件夹和文件。

您将后者视为问题并误解了它,认为是前者。

mkdir
创建一个文件夹,它代表

建立目录

您将无法用它创建文件。因此,您可能想要创建一个目录,然后在其中创建一个文件。但是,您需要先创建目录,然后创建文件,并确保您创建的文件的路径包含您希望将其创建到的目录。

© www.soinside.com 2019 - 2024. All rights reserved.