Estoy escribiendo una función compatible multiplataforma en C++ que crea directorios basados en nombres de archivos de entrada. Necesito saber si la máquina es Linux o Windows y usar la barra inclinada hacia delante o hacia atrás. Para el siguiente código a continuación, si la máquina es Linux, entonces isLinux = true
. ¿Cómo determino el sistema operativo?Determine si Linux o Windows en 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);
Si no va a mostrar la ruta al usuario, puede mantenerlo simple y usar una barra inclinada independientemente. Windows entiende ambos. (Sin embargo, si * planea * mostrarlo, probablemente debería usar barras diagonales inversas en Windows, parece mejor ser coherente con el sistema operativo). –