[问题] 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