2013-03-22 45 views
1

我是超新的C++,並試圖找出如何將OSName(win 7,8,vista,xp等)作爲字符串返回。我嘗試搜索和MSDN沒有幫助,只是進一步困惑我。獲取OSName作爲字符串C++

所有幫助表示讚賞。

+1

看起來它大部分已經完成我想,但不是你想要的方式:http://msdn.microsoft.com/en-ca/library/windows/desktop/ms724429(v=vs.85 ).aspx – chris 2013-03-22 03:01:07

+1

僅限Windows或您是否還需要其他操作系統? (OSX版本,GNU/Linux發行版...) – kay 2013-03-22 03:02:23

+0

僅限Windows,不需要任何其他版本 – 2013-03-22 03:04:48

回答

1

似乎使用預定義的頭部是最簡單的方法

http://sourceforge.net/p/predef/wiki/OperatingSystems/

+1

我看不出任何可能區分Windows 7和XP的東西。特別是因爲這是必須在運行時確定的。 – 2013-03-22 03:05:55

+0

@BenjaminLindley joris bolsens最初並沒有告訴他想知道Windows的版本......這個問題讀起來就像他想告訴不同的操作系統家庭不同。這些評論是在沙康答覆之後提出的。 – kay 2013-03-22 03:08:06

+0

@Kay:他做了忍者編輯嗎?因爲問題說*「OSName(win 7,8,vista,xp等)」* - 並且在那之前沒有明顯的編輯。 – 2013-03-22 03:10:37

-3

什麼讓你覺得MSDN會給你答案?微軟在MSDN上的實現不是標準的C++,因此你應該尋找一種可移植的解決方案。

+1

-1:'Microsoft在MSDN上的實現不是標準的C++'...... – 2013-03-22 03:03:48

+0

@JesseGood很明顯,SevenBits意味着Windows API不是C++標準的一部分...... – kay 2013-03-22 03:05:02

+0

沒錯。你問是否有辦法做到這一點C++,而不是如果有可能在Win32中做到這一點。在普通的舊C++中,如果沒有前處理器的幫助,答案是否定的。 – SevenBits 2013-03-22 03:07:29