原程序:
#include <windows.h>
#include <stdio.h>
#define INFO_BUFFER_SIZE 32768
void main()
{
TCHAR infoBuf[INFO_BUFFER_SIZE];
DWORD length = INFO_BUFFER_SIZE;
DWORD errorcode;
if(!::GetUserName(infoBuf,&length))
{
errorcode = GetLastError();
printf("errorcode: %d",errorcode);
}
else
printf("UserName: %s\n",&infoBuf);
}
能运行,就是不能显示出用户名.
那个122的查了还是不明白啊!!!理解不了英文的
#include <windows.h>
#include <stdio.h>
#define INFO_BUFFER_SIZE 32768
void main()
{
TCHAR infoBuf[INFO_BUFFER_SIZE];
DWORD length = INFO_BUFFER_SIZE;
DWORD errorcode;
if(!::GetUserName(infoBuf,&length))
{
errorcode = GetLastError();
printf("errorcode: %d",errorcode);
}
else
printf("UserName: %s\n",&infoBuf);
}
能运行,就是不能显示出用户名.
那个122的查了还是不明白啊!!!理解不了英文的
楼上讲的我还是不能理解啊!!!
TCHAR infoBuf[32768];
DWORD length = 32768;
DWORD errorcode;
memset(infoBuf, 0, sizeof(infoBuf)/sizeof(TCHAR));
if(!GetUserName(infoBuf, &length))
{
errorcode = GetLastError();
}
然后BUF还是不变也行啊.memset用来干嘛的?好像是用来填入字符的啊!!!
void main()
{
//这样也是可行的
TCHAR infoBuf[INFO_BUFFER_SIZE] = {0};但最好还是不要定义太大的缓冲区, 一般 255 就行