-1
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
int main(int argc, const char *argv[])
{
char* original_path = "/home/userxxx/somedir/newdir";
if (mkdir(original_path,0777) == -1) {
perror(argv[0]);
exit(EXIT_FAILURE);
}
return 0;
}
이것은 시스템 호출이 아니므로 -p를 사용하여 상위 디렉토리를 만들 수 없으며 posix 함수를 사용해야하며 상위 디렉토리와 중간 디렉토리가 존재하지 않으면 만들어야합니다.mkdir Posix 함수를 사용하여 디렉토리를 만들고 싶지만 상위 디렉토리가 존재하지 않습니다. 무엇을해야합니까?
정답은 패스를 통과하여 존재하지 않는 디렉토리를 모두 만드는 것입니다. –
어쩌면 상위 디렉토리를 먼저 만들까요? –
코드에서 실제로 사용되는'mkdir (2)' "시스템 호출"과 시스템 콜이 아닌 -p를 허용하는'mkdir (1)'도구에 대한 "system() 호출"사이에는 미세한 차이점이 있습니다. – arsv