注册 登录
编程论坛 VC++/MFC

求解决这个程序有没有错误

okkkwk 发布于 2014-01-13 17:06, 1226 次点击
void GetSysInfo()
{
    char szComputerName[MAXBYTE]={0};
    char szUserName[MAXBYTE]={0};
    unsigned long nSize = MAXBYTE;
    OSVERSIONINFO OsVer;

    OsVer.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
    GetVersionEx(&OsVer);

    if (OsVer.dwPlatformId == VER_PLATFORM_WIN32_NT)
    {
      if(OsVer.dwMajorVersion == 5 && OsVer.dwMinorVersion == 1)
      {
         printf("Windows XP %s \r\n",OsVer.szCSDVersion);  
      }
      else if (OsVer.dwMajorVersion == 5 && OsVer.dwMinorVersion == 0)
      {
         printf("Windows 2k \r\n");
      }
   
    }
    else
    {
        printf("Ohter System \r\n");
    }

    GetComputerName(szComputerName, &nSize);
    printf("Computer Name is %s \r\n", szComputerName);

    nSize = MAXBYTE;
    GetUserName(szUserName, &nSize);
    printf("User Name is %s \r\n", szUserName);
}
14 回复
#2
yuccn2014-01-13 17:10
拿来跑一下就知道是否有没有错误了
#3
okkkwk2014-01-13 17:12
回复 2楼 yuccn
显示有错,但我不知道错哪里,因为我是抄书的!!
#4
yuccn2014-01-13 17:17
把错误贴出来
#5
okkkwk2014-01-13 17:20
回复 4楼 yuccn
--------------------Configuration: 调试 - Win32 Debug--------------------
Compiling...
调试.cpp
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(3) : error C2065: 'MAXBYTE' : undeclared identifier
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(3) : error C2057: expected constant expression
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(3) : error C2466: cannot allocate an array of constant size 0
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(4) : error C2057: expected constant expression
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(4) : error C2466: cannot allocate an array of constant size 0
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(6) : error C2065: 'OSVERSIONINFO' : undeclared identifier
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(6) : error C2146: syntax error : missing ';' before identifier 'OsVer'
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(6) : error C2065: 'OsVer' : undeclared identifier
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(8) : error C2228: left of '.dwOSVersionInfoSize' must have class/struct/union type
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(9) : error C2065: 'GetVersionEx' : undeclared identifier
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(11) : error C2228: left of '.dwPlatformId' must have class/struct/union type
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(11) : error C2065: 'VER_PLATFORM_WIN32_NT' : undeclared identifier
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(13) : error C2228: left of '.dwMajorVersion' must have class/struct/union type
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(13) : error C2228: left of '.dwMinorVersion' must have class/struct/union type
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(15) : error C2065: 'printf' : undeclared identifier
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(15) : error C2228: left of '.szCSDVersion' must have class/struct/union type
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(17) : error C2228: left of '.dwMajorVersion' must have class/struct/union type
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(17) : error C2228: left of '.dwMinorVersion' must have class/struct/union type
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(28) : error C2065: 'GetComputerName' : undeclared identifier
F:\黑下\VC6EN\MSDev98\MyProjects\调试\调试.cpp(32) : error C2065: 'GetUserName' : undeclared identifier
执行 cl.exe 时出错.

调试.exe - 1 error(s), 0 warning(s)
#6
yuccn2014-01-14 11:49
error C2065: 'MAXBYTE' : undeclared identifier
'OSVERSIONINFO' : undeclared identifier
error C2065: 'VER_PLATFORM_WIN32_NT' : undeclared identifier

这不是说的很明白了吗?
MAXBYTE 你在什么地方定义了的?

include 下windows.h
#7
okkkwk2014-01-14 12:09
回复 6楼 yuccn
现在加了头文件,而现在出现--------------------Configuration: aaa - Win32 Debug--------------------
Compiling...
aaa.cpp
f:\黑下\vc6en\msdev98\myprojects\aaa\aaa.cpp(16) : error C2065: 'printf' : undeclared identifier
执行 cl.exe 时出错.

aaa.exe - 1 error(s), 0 warning(s)
#8
yuccn2014-01-14 15:42
晕,你还没有入门的吗?
printf 应该包含那个头文件你应该知道吧
#9
okkkwk2014-01-15 12:29
回复 8楼 yuccn
还没入门呢,#include<stdio.h> 写了但还是运行不了的!
#10
纸T02014-01-15 16:23
你新建“调试.c”
拷入代码编译试试。

[ 本帖最后由 纸T0 于 2014-1-15 17:00 编辑 ]
#11
纸T02014-01-15 16:59
你用1.c调试一下这段代码试试:

#include <stdio.h>

int main()

{
    printf("c!");

}


然后用1.cpp调试一下这段代码试试:

#include <stdio.h>

int main()

{
    printf("c!");
        return 0;
}

以上两段代码均通过编译,无错。如果还有问题。你试试重装c++再来调试和编译.
#12
okkkwk2014-01-15 20:11
回复 10楼 纸T0
不行呀,你运行可以吗?
#13
okkkwk2014-01-15 20:24
回复 11楼 纸T0
.c和.cpp是什么意思,新手,拜托教下
#14
纸T02014-01-15 20:45
感觉说不清楚。你不妨看看视频,自已动手作下。


http://
#15
qq1206830032014-01-17 21:22
建议你从零学起,我上传的视频就是适合零基础的!
1