在C中创建linux ubuntu下文件和文件夹的路径

标签 c linux ubuntu directory filepath

我有以下代码

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/

相关文章:

linux - 从 Windows 上的 plink.exe 在 Linux 上执行 sudo 命令

mysql - 查看 "open file descriptors"

Python - Ubuntu OS 中的 Selenium 错误 : [Errno 20] Not a directory

c++ - 无法使用 cygwin 运行 cmake

linux - 如何通过创建通过 SSH 不存在的目录将文件从本地服务器复制到远程服务器?

c - 如何定义返回函数指针的函数指针

c++ - 使用 suid 安装 debian linux 头文件后无法访问共享库

ubuntu - openjdk 7 中的 SNMP

c - 如何移动寄存器中标签的地址

c - 警告 : left shift count >= width of type