在c中使用mkdir-p创建文件的父文件夹
我需要这方面的线索。 我正在使用glibc的dgettext实用程序进行语言翻译。 我在某个位置有一个文件x.mo,例如:/usr/share/x.mo,但dgettext处理目录结构/usr/share/(language/mSG/)x.mo如何在C中创建此中间目录语言/mSG。您可以使用:在c中使用mkdir-p创建文件的父文件夹,c,C,我需要这方面的线索。 我正在使用glibc的dgettext实用程序进行语言翻译。 我在某个位置有一个文件x.mo,例如:/usr/share/x.mo,但dgettext处理目录结构/usr/share/(language/mSG/)x.mo如何在C中创建此中间目录语言/mSG。您可以使用: #包括 int mkdir(常量字符*路径,模式_t模式); 但更容易使用的是: #包括 int系统(常量字符*命令); 这样的东西可能适合你: #include <stdlib.h> i
#包括
int mkdir(常量字符*路径,模式_t模式);
但更容易使用的是:
#包括
int系统(常量字符*命令);
这样的东西可能适合你:
#include <stdlib.h>
int main(void) {
system("mkdir -p /usr/share/language/mSG");
system("ln -s /usr/share/x.mo /usr/share/language/mSG");
}
#包括
内部主(空){
系统(“mkdir-p/usr/share/language/mSG”);
系统(“ln-s/usr/share/x.mo/usr/share/language/mSG”);
}
使用popen或系统api通过C代码运行shell命令
FILE *pf;
char command[512];
sprintf(command, "mkdir -p /usr/share/language/mSG");
pf = popen(command,"r");
if(!pf){
fprintf(stderr, "popen failure \n");
return;
}
到目前为止,您尝试了什么?您想通过C而不是shell命令创建目录吗?您可以看到system api或popen api。注意:我最初反向获取ln-s参数,但将其编辑为正确的顺序,并且路径的文件名部分暗示了ln-s的第二个参数,因此我省略了它。
#include <stdlib.h>
int main(void) {
system("mkdir -p /usr/share/language/mSG");
system("ln -s /usr/share/x.mo /usr/share/language/mSG");
}
FILE *pf;
char command[512];
sprintf(command, "mkdir -p /usr/share/language/mSG");
pf = popen(command,"r");
if(!pf){
fprintf(stderr, "popen failure \n");
return;
}