根据变量名创建目录

时间:2015-11-03 09:26:14

标签: c

我一直在创建一个C程序,它将从excel中提取一系列数据并将其存储在变量中。我的问题是,我如何在C中创建一个使用变量的目录。昨天我在工作时尝试了几种方法。

#include <stdio.h>

int main(void)
{
    //creating directory (works)
    system("md E:\sub_directory");
    system("mkdir E:\\sub_dir2");

    //trying to create directory based off variables (not working yet)
    char CustName[50] = "Mars";
    char Product[50] = "Chocolate Drops";
    int JobNumber = 100;

    system("md E:\\",JobNumber,CustName,Product"",JobNumber,CustName,Product);
system("md E:\\%04i %s %s",JobNumber,CustName,Product);
    return 0;
}

正如您在上面所看到的,这是我完成的代码。第一部分只是一个参考点,所以我知道基本命令结构。然后我开始调整格式,我目前知道哪些不起作用。

是否有人能够阐明我将如何使用变量名来创建目录? (我目前正在使用Windows 10机器,但程序将在Windows 7机器上运行。我不知道这是否会改变。

2 个答案:

答案 0 :(得分:3)

您应该使用sprintf创建一个包含您要创建的完整路径名的字符串。然后,您应该使用标准库的mkdir函数来创建目录。

请注意,要创建目录,所有组件路径都必须存在,因此要创建E:\my\path,您可能需要先创建E:\my,然后再创建E:\my\path

答案 1 :(得分:0)

我看过sprintf,我想我明白了。我有以下代码:

char CustName[50] = "Mars";
char Product[50] = "Chocolate Drops";
int JobNumber = 100;
char *filepath[100];

sprintf(*filepath, "mkdir D:\\%04i %s %s", JobNumber, CustName, Product);
puts(*filepath);

抱歉,如果这不正确使用,我仍然是编程

的新手