c – 为什么mkdir无法使用波浪号(〜)?

c – 为什么mkdir无法使用波浪号(〜)?,第1张

概述当我写 mkdir("~/folder1" , 0777); 在linux中,无法创建目录.如果我用扩展的主目录替换〜,它可以正常工作.使用〜有什么问题? 谢谢 〜只知道shell而不是mkdir系统调用. 但如果你尝试: system("mkdir ~/foo"); 这作为“mkdir〜/ foo”被传递到shell和shell扩展〜$HOME 如果要使用mkdir的$HOME,可以使用gete 当我写
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);}
总结

以上是内存溢出为你收集整理的c – 为什么mkdir无法使用波浪号(〜)?全部内容,希望文章能够帮你解决c – 为什么mkdir无法使用波浪号(〜)?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1246154.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存