如何使用C++以跨平台方式检查操作系统版本?

Gir*_*rdi 3 c++ string operating-system

好吧,我认为这个问题是相当客观的.那么,无论如何要做到这一点?

实际上,我需要检查操作系统的版本,因为我想从字符串中获取目录:

"directory/file.ext"
Run Code Online (Sandbox Code Playgroud)

要么

"directory\file.ext"
Run Code Online (Sandbox Code Playgroud)

所以我根据"\"或"/"拆分其中一个字符串,具体取决于我正在处理的操作系统.

我对C++很陌生,我不知道是否有另一种从路径字符串获取目录的方法.

我可以用C#做​​得很好,这将是我的最后一个选择.

最好的问候和提前感谢!

hol*_*olt 5

实际上,你不需要这样做.即使在Win32系统上,POSIX样式"/"也可以作为目录分隔符使用(试一试).

也就是说,其他文件系统操作是特定于平台的(例如驱动器号).

Boost Filesystem库是一个不错的选择 - 代码,它将为您处理平台详细信息:http://www.boost.org/doc/libs/1_31_0/libs/filesystem/doc/index.htm

其他跨平台C++框架(如Qt)具有类似的功能.

您可以在此处深入了解更多详细信息:http://en.wikipedia.org/wiki/Path_ (computing)