c++ 获取cpu温度
时间: 2023-09-05 22:13:58 浏览: 51
获取CPU温度的方法因操作系统而异。以下是在Linux系统中获取CPU温度的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
FILE *fp;
char path[40];
float temp;
// 根据操作系统选择对应的文件路径
#ifdef __linux__
// 在Linux系统中,CPU温度信息通常存储在/sys/class/thermal/thermal_zone0/temp文件中
// 该文件中包含了以千分之一摄氏度为单位的当前温度值
// 因此需要将读取到的值除以1000得到摄氏度温度值
sprintf(path, "/sys/class/thermal/thermal_zone0/temp");
#elif __APPLE__
// 在MacOS系统中,可以使用OSX系统内置的命令sensors获取CPU温度
sprintf(path, "sensors | grep 'CPU Temperature' | awk '{print $4}'");
#endif
// 打开文件并读取温度信息
fp = fopen(path, "r");
if (fp == NULL)
{
printf("Failed to open file %s\n", path);
exit(EXIT_FAILURE);
}
fscanf(fp, "%f", &temp);
// 关闭文件并输出温度值
fclose(fp);
printf("CPU temperature: %.1f C\n", temp / 1000);
return 0;
}
```
以上代码可以在Linux系统中编译并运行,输出当前CPU温度值。在其他操作系统中,可能需要使用不同的方法获取CPU温度信息。