2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Не удается найти функцию ни _mkdir(), ни mkdir()
Сообщение18.11.2020, 16:24 
Аватара пользователя
Вот такой код нашел на просторах интернета так не находилась функция mkdir()
Код:
#if defined _MSC_VER
#include <direct.h>
#elif defined __GNUC__
#include <sys/types.h>
#include <sys/stat.h>
#endif

void createDir(std::string dir) {
#if defined _MSC_VER
   _mkdir(dir.data());
#elif defined __GNUC__
   mkdir(dir.data(), 0755);
#endif
}

Все равно выдает:
Ошибка C3861 _mkdir: идентификатор не найден

 
 
 
 Re: Не удается найти функцию ни _mkdir(), ни mkdir()
Сообщение18.11.2020, 16:28 
Аватара пользователя
У вас какая система, Windows или Linux? Потому что в коде идут дефайны по компиляторам

 
 
 
 Re: Не удается найти функцию ни _mkdir(), ни mkdir()
Сообщение18.11.2020, 18:15 
Аватара пользователя
Legioner93 в сообщении #1493043 писал(а):
У вас какая система, Windows или Linux? Потому что в коде идут дефайны по компиляторам

Винды. Более того, MS VS 2017.
И в Виндовой документации предлагается пара
Код:
_mkdir() #include <direct.h>

Но тот код, что я привел выше, как бы универсальный. В зависимости от
Код:
defined _MSC_VER
или
Код:
defined __GNUC__

 
 
 
 Re: Не удается найти функцию ни _mkdir(), ни mkdir()
Сообщение18.11.2020, 21:18 
Аватара пользователя
Посмотрите direct.h. Есть там _mkdir?

 
 
 
 Re: Не удается найти функцию ни _mkdir(), ни mkdir()
Сообщение19.11.2020, 14:12 
Аватара пользователя
Legioner93 в сообщении #1493128 писал(а):
Посмотрите direct.h. Есть там _mkdir?

Хорошо бы понять, как.
Дело в том, что в сети все описания dirent.h утверждают, что такая функция там есть. Даже online MS helper.
А поиск в компе дает отсутствие такого файла в распакованном виде.
В этом и проблема. Надо попробовать поползать по хелпу MS VS 2017. Хотябы найти аналог.

 
 
 [ Сообщений: 5 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group