嗯,我觉得这个问题还算客观。那么,有什么办法吗?
实际上,我需要检查操作系统的版本,因为我想从字符串中获取目录:
"directory/file.ext"
或
"directory\file.ext"
所以我根据“\”或“/”拆分其中一个字符串,具体取决于我正在处理的操作系统。
我是 C++ 的新手,我不知道是否有另一种方法可以从路径字符串中获取目录。
我可以用 C# 很好地做到这一点,这将是我最后的选择。
提前致以最诚挚的问候和感谢!
最佳答案
实际上,您不需要这样做。 POSIX 风格的“/”将作为目录分隔符工作得很好,即使在 Win32 系统上也是如此(试试吧。)
也就是说,其他文件系统操作是特定于平台的(例如驱动器盘符。)
Boost 文件系统库是一个不错的选择 - 对此进行编码,它将为您处理平台详细信息:http://www.boost.org/doc/libs/1_31_0/libs/filesystem/doc/index.htm
其他跨平台 C++ 框架,例如 Qt,具有类似的功能。
您可以在此处深入了解更多详细信息:http://en.wikipedia.org/wiki/Path_(computing )
关于c++ - 如何使用 C++ 以跨平台方式检查操作系统版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7694130/