Я хочу создать папку с именем sessionname
. Если папка с этим именем уже существует, это нормально, и я не хочу ничего делать.Создайте папку, если она не существует, ничего не делать, если она
Прямо сейчас я делаю это:
finalpath = "/home/Documents"
finalpath.append(path + "/" + sessionname);
if (mkdir(finalpath.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) == -1)
{
//INVALID PATH
std::cout << "path is invalid, cannot create sessionnamefolder" << std::endl;
throw std::exception();
}
ошибок Этот код, если папка /home/Documents/sessionname
существует, так как папка не может быть создана.
Как я могу проверить, не сработало ли mkdir
, потому что строка была недействительной или потому что строка была vaild, но папка уже существует?
Читайте http://pubs.opengroup.org/onlinepubs/009695399/functions/mkdir.html –
http://stackoverflow.com/questions/7430248/creating-a-new-directory-in-c –
У вас есть прочитайте [справочную страницу 'mkdir'] (http://man7.org/linux/man-pages/man2/mkdir.2.html)? Вы проверили, какие ошибки вы можете получить от него? –