我在尝试使用WinMain时尝试通过命令行(例如-w 1280 -h 1024)通过我的程序传递参数时遇到问题。我查看了我能找到的每个主题,并创建了构建和运行的代码,但参数被完全忽略了!
我的代码:
LPWSTR *szArgList;
int argCount;
szArgList = CommandLineToArgvW(GetCommandLineW(), &argCount);
for(int i = 1;i < argCount;i++)
{
if(i + 1 != argCount)
{
if(szArgList[i] == L"-w")
{
width = _wtoi(szArgList[i+1]);
}
else if(szArgList[i] == L"-h")
{
height = _wtoi(szArgList[i+1]);
}
}
}
MSG msg;
BOOL done=FALSE;
if(MessageBox(NULL,"Fullscreen?", "my window", MB_YESNO|MB_ICONQUESTION)==IDNO)
{
fullscreen=FALSE;
}
if(!CreateGLWindow("Window",width,height,16,fullscreen))
{
return 0;
}
我尝试将传递为“window.exe -w 800 -h 600”(当然没有引号) 我睡眠堕落的代码中缺少什么东西?
答案 0 :(得分:1)
szArgList[i] == L"-w"
szArgList[i] == L"-h"
C和C ++将通过指针而不是字符进行比较。使用strcmp。