如何在c中创建文件夹?

时间:2015-02-10 18:05:12

标签: c windows

我尝试创建一个文件而且我做了。

现在我尝试在新文件夹中创建文件,但此代码无效!


#include <stdio.h>
#include <stdlib.h>

int main( void)
{
    FILE *fp;

    fp = fopen("txt/example.txt", "w"); // This only works without "txt/"

    fprintf(fp, "%s", "Some data here");

    fclose(fp);

    return 0;
}

也许我需要在文件之前和之后创建文件夹,但我不知道如何实现它...任何帮助都表示赞赏!

2 个答案:

答案 0 :(得分:2)

此示例在创建文件之前创建目录,当它生成文件时,请注意文件名中的双\\以防止从\e尝试转义序列,尽管它会也可以使用单个/

#include <stdio.h>
#include <direct.h>
#include <stdlib.h>

void fatal(char *msg) {
    printf("%s\n", msg);
    exit (1);
}

int main(void) {
    FILE *fp;
    if (mkdir("txt"))
        fatal ("Error creating directory");
    if ((fp = fopen("txt\\example.txt", "w")) == NULL)
        fatal ("Error opening file");
    if (fprintf(fp, "%s", "Some data here") <= 0)
        fatal ("Error writing to file");
    if (fclose(fp))
        fatal ("Error closing the file");
    return 0;
}

答案 1 :(得分:1)

您需要使用CreateDirectory在Windows上创建目录。