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

标签 c++ string operating-system

嗯,我觉得这个问题还算客观。那么,有什么办法吗?

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

"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/

相关文章:

java - 从字符串中获取数字

file - 开放系统调用的工作

c++ - 生成算术运算结果类型的策略?

c++ - 遇到二维结构数组 C++ 的问题

c++ - 如何在 for 循环中制作切换按钮?

c++ - 为什么 digits10 引用整数类型 0?

sql - Redshift SQL - 反向 Listagg 函数

java - 用完整形式替换缩写/俚语

linux - 防止由于高内存使用而导致系统挂起

c - AH=2的BIOS INT 13H每次只能读取72个扇区。为什么?