Я пишу кросс-платформенную совместимую функцию в C++, которая создает каталоги на основе входных имен файлов. Мне нужно знать, является ли машина Linux или Windows, и использовать соответствующую косую черту. Для следующего кода ниже, если машина является Linux, то isLinux = true
. Как определить ОС?Определите, что Linux или Windows в C++
bool isLinux;
std::string slash;
std::string directoryName;
if isLinux
slash = "/";
else
slash = "\\";
end
boost::filesystem::create_directory (full_path.native_directory_string() + slash + directoryName);
Если вы не укажете путь к пользователю, вы можете сохранить его простым и просто использовать косую черту независимо. Windows понимает оба. (Если вы * сделаете * план по его показу, то, вероятно, вы, вероятно, должны использовать обратную косую черту в Windows - это выглядит лучше, чем совместимо с ОС.) –