C++ Microsoft Visual Studio 2010没有';行不通

C++ Microsoft Visual Studio 2010没有';行不通,c++,visual-studio-2010,get,cpu,C++,Visual Studio 2010,Get,Cpu,为了获得内核的数量,我在VS 2010中制作了一个控制台应用程序: 代码如下: #include <iostream> #include "stdio.h" #include "stdafx.h" using namespace std; int main(){ FILE * fp; char res[128]; fp = popen("/bin/cat /proc/cpuinfo |grep -c '^processor'","r"

为了获得内核的数量,我在VS 2010中制作了一个控制台应用程序: 代码如下:

#include <iostream>
#include "stdio.h"
#include "stdafx.h"
using namespace std;

int main(){
        FILE * fp;
        char res[128];
        fp = popen("/bin/cat /proc/cpuinfo |grep -c '^processor'","r");
        fread(res, 1, sizeof(res)-1, fp);
        fclose(fp);
        cout << "number of core: " << res[0] << endl;
        return 0;
}
#包括
#包括“stdio.h”
#包括“stdafx.h”
使用名称空间std;
int main(){
文件*fp;
charres[128];
fp=popen(“/bin/cat/proc/cpuinfo | grep-c'^processor',r”);
fread(res,1,sizeof(res)-1,fp);
fclose(fp);
无法初始化BuildStatus:
1> 触摸“Debug\project\u scs.unsuccessfulbuild”。
1> CLC编译:
1> 所有输出都是最新的。
1> 项目_scs.cpp
1> c:\users\rares992\documents\visual studio 2010\projects\project\u scs\project\u scs\project\u scs.cpp(1):警告C4627:“#include”:查找预编译头使用时跳过
1> 将指令添加到“StdAfx.h”或重新生成预编译头
1> c:\users\rares992\documents\visualstudio 2010\projects\project\u scs\project\u scs.cpp(2):警告C4627:“#包括“stdio.h”:在查找预编译头使用时跳过
1> 将指令添加到“StdAfx.h”或重新生成预编译头
1> c:\users\rares992\documents\visual studio 2010\projects\project\u scs\project\u scs.cpp(9):错误C3861:“popen”:找不到标识符
1> c:\users\rares992\documents\visual studio 2010\projects\project\u scs\project\u scs.cpp(10):错误C3861:“fread”:找不到标识符
1> c:\users\rares992\documents\visual studio 2010\projects\project\u scs\project\u scs.cpp(11):错误C3861:“fclose”:找不到标识符
1> c:\users\rares992\documents\visual studio 2010\projects\project\u scs\project\u scs.cpp(12):错误C2065:“cout”:未声明的标识符
1> c:\users\rares992\documents\visualstudio 2010\projects\project\u scs\project\u scs.cpp(12):错误C2065:“endl”:未声明的标识符
1>
1> 生成失败。
1>
1> 时间流逝00:00:00.08
======生成:0成功,1失败,0最新,0跳过==========**

问题出在哪里?我该怎么办?谢谢。

从阅读错误开始:
1>c:\users\rares992\documents\visualstudio 2010\projects\project\u scs\project\u scs\project\u scs.cpp(2):警告C4627:“#包括“stdio.h”:在查找预编译头使用时跳过”


还考虑Linux方法(读取<代码> /PROC <代码>)不太可能对运行VisualStudio.</P> < P>可执行文件的系统工作,但您的主要问题是您不正确地使用预编译头。请检查MSDN以获得更多信息。 另外,

popen()
不是Win32 API的一部分。它在Posix中,但您没有使用它。您可能希望签出
\u popen
,但:
#包括“stdafx.h”
应该出现在任何其他
#include
指令之前的第一行。谢谢。现在只剩下一个错误:错误C3861:“popen”:标识符未找到重复?
/bin/cat/proc/cpuinfo
您是否在Windows命令提示符中键入该命令以查看它是否实际工作?好的,我现在知道它是用于Linux的。I searc他在互联网上,我发现获取CPUINFO使用的是“C:\>wmic cpu get caption”,这也不起作用。你知道必须使用的实际路径吗?谢谢。谢谢你的建议。我可以用什么来代替popen()?@user3677169-查看更新后的答案。如果你想感谢我,也请更新我的答案:)我看到使用了_popen而不是popen。这对我来说仍然不起作用。。
**1>------ Build started: Project: project_scs, Configuration: Debug Win32 ------
1>Build started 6/5/2014 8:01:03 PM.
1>InitializeBuildStatus:
1>  Touching "Debug\project_scs.unsuccessfulbuild".
1>ClCompile:
1>  All outputs are up-to-date.
1>  project_scs.cpp
1>c:\users\rares992\documents\visual studio 2010\projects\project_scs\project_scs\project_scs.cpp(1): warning C4627: '#include <iostream>': skipped when looking for precompiled header use
1>          Add directive to 'StdAfx.h' or rebuild precompiled header
1>c:\users\rares992\documents\visual studio 2010\projects\project_scs\project_scs\project_scs.cpp(2): warning C4627: '#include "stdio.h"': skipped when looking for precompiled header use
1>          Add directive to 'StdAfx.h' or rebuild precompiled header
1>c:\users\rares992\documents\visual studio 2010\projects\project_scs\project_scs\project_scs.cpp(9): error C3861: 'popen': identifier not found
1>c:\users\rares992\documents\visual studio 2010\projects\project_scs\project_scs\project_scs.cpp(10): error C3861: 'fread': identifier not found
1>c:\users\rares992\documents\visual studio 2010\projects\project_scs\project_scs\project_scs.cpp(11): error C3861: 'fclose': identifier not found
1>c:\users\rares992\documents\visual studio 2010\projects\project_scs\project_scs\project_scs.cpp(12): error C2065: 'cout' : undeclared identifier
1>c:\users\rares992\documents\visual studio 2010\projects\project_scs\project_scs\project_scs.cpp(12): error C2065: 'endl' : undeclared identifier
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.08
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========**