前端之家收集整理的这篇文章主要介绍了
c – 为什么mkdir无法使用波浪号(〜)?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我写
mkdir("~/folder1",0777);
在linux中,无法创建目录.如果我用扩展的主目录替换〜,它可以正常工作.使用〜有什么问题?
谢谢
〜只知道shell而不是mkdir系统
调用.
但如果你尝试:
system("mkdir ~/foo");
这作为“mkdir〜/ foo”被传递到shell和shell扩展〜$HOME
如果要使用mkdir的$HOME,可以使用getenv
功能:
char path[MAX];
char *home = getenv ("HOME");
if (home != NULL) {
snprintf(path,sizeof(path),"%s/new_dir",home);
// now use path in mkdir
mkdir(path,PERM);
}
原文链接:https://www.f2er.com/c/114946.html