如何使用C++以跨平台的方式检查操作系统版本?
问题描述:
那么,我认为这个问题是相当客观的。那么,有没有这样做?如何使用C++以跨平台的方式检查操作系统版本?
其实,我需要检查什么版本的操作系统,因为我想从一个字符串获取目录:
"directory/file.ext"
或
"directory\file.ext"
所以我根据这些字符串中的一个分裂“\”或“/”,具体取决于我正在处理的操作系统。
我对C++很陌生,我不知道从路径字符串获取目录的方法。
我可以很好地用C#来完成,这将是我的最后一种选择。
此致敬意!
答
其实,你不需要那样做。 POSIX的风格“/”将作为目录分隔符就好了,即使是在一个Win32系统(尝试一下。)
也就是说,其它文件系统操作平台特定的(驱动器号,例如。)
升压文件系统库是一个不错的选择 - 码到这一点,它会处理平台的细节为您提供:http://www.boost.org/doc/libs/1_31_0/libs/filesystem/doc/index.htm
其他跨平台的C++框架,比如Qt的,也有类似的设施。
您可以深入更多的细节在这里:http://en.wikipedia.org/wiki/Path_(computing)
你可以用Qt来做,它会照顾所有的跨平台的东西给你。 – Dani