我有以下代码
system("mkdir workspace");
char*files = malloc(sizeof(char*) * strlen(address));
sprintf(files, " %s", address);
char*command = malloc(sizeof(char*) * strlen(address) + 256);
sprintf(command, "mkdir -p workspace/%s", files);
system(command);
问题是我想在文件夹工作区中创建文件夹地址,例如工作区> www.google.com ..但这两个文件夹是在同一个文件夹中创建的,我不知道我做错了什么。有人可以帮我吗?
最佳答案
分配给文件
的内存太小(\0
的两个字节和空格在大小中丢失)和mkdir -p工作空间/www.google.com
确实导致两个目录驻留在同一父目录中,因为 sprintf
中引入了单个空格。
关于在C中创建linux ubuntu下文件和文件夹的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42472771/