如何在C编程中传递mkdir函数中的字符串文字("〜/ test/foo")?

pro*_*mer 4 c arguments mkdir

可能重复:
如何在C++/Linux中创建目录树?
为什么mkdir无法使用波浪号(〜)?

我正在尝试在C程序中创建一个目录,我使用mkdir函数.我的计划如下:

 #include <stdio.h>
 #include <string.h>

 #define MKDIR(x)  mkdir(x)

 int main() {

      //If i do mkdir("foo"), the dir is created 

      mkdir("~/test/foo"); //Directory foo not created inside test dir
 }
Run Code Online (Sandbox Code Playgroud)

dir foo不是在Test dir中创建的.

但我怎么能实现这一目标呢?提前致谢

Mic*_*ker 9

mkdir()函数不会扩展~快捷方式,您必须从HOME环境变量中提取值.(见man getenv).