我想在 Linux 上用 C++ 获取 CPU 的名称和时钟速度。但到目前为止,对我来说效果并不好。现在我正在使用这段代码:
printf("\033[1;32m[ OK ]\033[0m Initializing...\n");
printf("\033[1m[INFO]\033[0m CPU name: ");
system("grep -i --color 'model name' /proc/cpuinfo | uniq | sed -e 's/model name//' | sed -e 's/: //' | sed -e 's/ //' | sed -e 's/@.*//'");
printf("\n");
printf("\033[1m[INFO]\033[0m CPU speed: ");
system("grep -i --color 'model name' /proc/cpuinfo | uniq | sed -e 's/.*@//'");
printf("\n");
现在,所需的输出应该(在我的机器上)是这样的:
[ OK ] Initializing...
[INFO] CPU name: Intel(R) Xeon(R) CPU X5365
[INFO] CPU speed: 3.00GHz
但这不是它给我的。它给出了这个奇怪的结构:
[ OK ] Initializing...
Intel(R) Xeon(R) CPU X5365
[INFO] CPU name:
3.00GHz
[INFO] CPU speed:
有谁知道该怎么做?反正Tnx。