VC2010不使用第三方库读取CPU温度
时间: 2023-12-03 17:04:47 浏览: 141
在 VC2010 中不使用第三方库读取 CPU 温度是比较困难的,因为需要与硬件进行交互,并且每个 CPU 厂商的实现方式可能都不同。但是,如果你能够获得相关的 CPU 温度监测程序的源代码,就可以通过解析这些程序的输出来读取 CPU 温度。
例如,下面是一个使用内置的 Windows 系统命令 `wmic` 来获取 CPU 温度的示例代码:
```c++
#include <iostream>
#include <windows.h>
#include <stdio.h>
int main()
{
char result[1024];
FILE* pipe = _popen("wmic /namespace:\\\\root\\wmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature", "r");
if (!pipe)
{
std::cerr << "Error: Failed to execute command." << std::endl;
return 1;
}
fgets(result, sizeof(result), pipe); // discard the first line
fgets(result, sizeof(result), pipe);
_pclose(pipe);
double temp = atof(result) / 10.0 - 273.15;
std::cout << "CPU temperature: " << temp << "C" << std::endl;
return 0;
}
```
该代码通过调用 `wmic` 命令来获取 CPU 温度,然后将输出解析为浮点数,最后输出到控制台。需要注意的是,该方法也只是一种实现方式,具体实现可能会因不同的硬件、操作系统和命令行参数而有所不同。
阅读全文