[問題] VC++ 讀取CpuID 該用什麼輸出格式?

作者: chingyue (ChingYue)   2017-06-07 11:27:55
開發平台(Platform): (Ex: Win10, Linux, ...)
Win7(Win10)
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
VC++(VS2013 VS2017)
問題(Question):
各位前輩大家好
小弟最近在學習用C++來讀取CpuID
有在GOOGLE上找到一個範例
範例網址:http://blog.csdn.net/aoshilang2249/article/details/44958907
小弟照著範例執行的時候
出現了錯誤
error LNK2019: 無法解析的外部符號 _main 在函式 ___tmainCRTStartup 中被參考
查了一下發現應該是程式中沒有main()
所以自己加入了
void main()
{
char str1;
printf_s("%d\n", GetCpuByCmd);
printf_s("%f\n", GetCpuByCmd);
printf_s("%c\n", GetCpuByCmd);
printf_s("%s\n", GetCpuByCmd);
printf_s("%e\n", GetCpuByCmd);
printf_s("%u\n", GetCpuByCmd);
printf_s("%o\n", GetCpuByCmd);
printf_s("%x\n", GetCpuByCmd);
printf_s("%p\n\n", GetCpuByCmd);
system("wmic CPU get ProcessorID ");
system("PAUSE");
}
加入後程式就可以執行了
但是結果跟我用
system("wmic CPU get ProcessorID ");
所顯示的CpuID並不相同
輸出圖:http://i.imgur.com/Xmf5YCX.jpg
想請問各位前輩
我該用哪種方式輸出我的結果?
程式碼(Code):(請善用置底文網頁, 記得排版)
.h檔:http://codepad.org/CXZyWe42
.h檔(圖):http://i.imgur.com/BhGCP7s.jpg
.cpp:http://codepad.org/3Mgq8Anz
補充說明(Supplement):
另外小弟有試過用這種方式儲存結果
string str1;
str1 = system("wmic CPU get ProcessorID ");
printf_s("%s",str1);
可是很明顯的,事情不是我這種憨人想的這麼簡單...
作者: jerryh001   2017-06-07 11:36:00
GetCpuByCmd 是函數 .h有寫要傳字元陣列給他
作者: TobyH4cker (Toby (我要當好人))   2017-06-07 11:54:00
我直接講明,現在沒有所謂的CPU 序號你可以直接放棄取CPU當作機器碼了
作者: Hazukashiine (私は幸せです)   2017-06-07 12:36:00
找網卡MAC跟主機板序號 來做Hash
作者: jerryh001   2017-06-07 16:30:00
理論上作者應該會寫每個參數傳什麼 我猜是傳空的陣列進去 然後他會把陣列修改成CPU名字
作者: libertyleave (SSLin)   2017-06-07 17:05:00
你可以嘗試 wmic CPU get ProcessorID >> cpu.txt然後再從檔案理面讀取或者你可以參考這篇對岸文章 是讀主機板的 不過原理差不多: http://www.it610.com/article/4643497.htm喔 我看了一下 code 跟網頁寫的是同樣的東西你需要先宣告一個 char cpuArr[128]然後這樣呼叫 GetCpuByCmd(cpuArr,128)然後輸出 cpuArr 就好
作者: james732 (好人超)   2017-06-07 19:03:00
跟亂碼應該是字串最後沒有結束字元
作者: jerryh001   2017-06-07 19:05:00
貌似他沒幫你最後加\0 你宣告的時候先自己初始化成0吧
作者: pttuser (pttuser)   2017-06-18 00:00:00
沒有main……………

Links booklink

Contact Us: admin [ a t ] ucptt.com