在c中使用mkdir -p创建文件的父文件夹

时间:2015-03-23 06:24:23

标签: c

我需要领导这个。 我正在使用glibc的dgettext实用程序进行语言翻译。 我在一个位置有一个文件x.mo,例如:/usr/share/x.mo但dgettext工作在目录结构/usr/share/(language/mSG/)x.mo如何创建这个中间目录语言/ mSG在C.

2 个答案:

答案 0 :(得分:1)

您可以使用mkdir() UNIX function

#include <sys/stat.h>
int mkdir(const char *path, mode_t mode);

但更容易使用system() UNIX function

#include <stdlib.h>
int system(const char *command);

这样的事可能适合你:

#include <stdlib.h>
int main(void) {
   system("mkdir -p /usr/share/language/mSG");
   system("ln -s /usr/share/x.mo /usr/share/language/mSG");
}

答案 1 :(得分:1)

使用 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;
}