Использование mkdir () в C ++

0

просто хотел узнать, есть ли недостатки в использовании mkdir в коде C++? Я слышал о "зле" системы и popen, особенно когда речь идет о проблемах безопасности и использовании памяти... Существуют ли подобные проблемы при использовании команд mkdir/getcwd/other direct unix, подобных этому в коде? Благодарю!

  • 0
    Возможно, вам было бы лучше использовать кроссплатформенную библиотеку, чтобы делать подобные вещи. Повышение является примером.
  • 0
    Я действительно не знаю ни о каких недостатках, кроме переносимости, но если вам нужны альтернативные решения, вы можете посмотреть на boost или qt, например.
Теги:

2 ответа

1
Лучший ответ

Единственная проблема, с которой вы можете столкнуться при использовании mkdir, getcwd и подобных, будет портировать вашу программу на разные платформы.

Помимо этого, совершенно безопасно их использовать.

Также - popen и system не являются злыми, но могут быть опасны, если их использовать без особого внимания - что-то, что применяется к большинству системных API.

  • 0
    Спасибо за ввод - есть мысли об использовании памяти этими функциями?
  • 0
    Трудно сказать что-то полезное об использовании памяти, если мы не говорим о конкретной платформе.
Показать ещё 1 комментарий
1

Он не переносится на другие ОС. Если вас беспокоит мобильность, попробуйте использовать Boost:

boost::filesystem::path dir("/path/to/newdir");
boost::filesystem::create_directory(dir);
  • 0
    это не та же функциональность, что и mkdir
  • 1
    @stijn, это верно. Я пропустил оператор create_directory :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню