应用程序无法获取命令参数

Application is unable to get command argument

本文关键字:命令 参数 获取 应用程序      更新时间:2023-10-16

我无法获取带有int main(int argc, char* argv[])的命令行参数,没有发生错误,但是当想要进行进一步的操作时,我看到argv[ ]和其他相关变量没有任何值并说Error reading characters of string然后发生Acces violation reading location错误。

这是我问题的示例代码,我不得不缩小它以使其可读:

#include "CommonHeaders.h"
void Start(char *input)
{
  lstrcpyA(host, input); 
  // In this point i see in my Debugger "Locals/Autos" that nothing 
  // is passed to function then a "Access violation ... " happens.
  // ...
}
int main(int argc, char *argv[])
{
  Start(argv[1]);
  return 0;
}

我总是使用这个int main(int argc, char* argv[])并将命令参数与项目属性->调试->命令参数传递,并且每次都完美运行。是否有可能不包含正确的标头,或者项目配置中的任何更改都可能导致冲突?

请务必将子系统设置为控制台Linker -> SubSytem -> Console (/SUBSYSTEM:CONSOLE),不要设置Entry pointWhole Program Optimization设置为No Whole Program Optimization并将SDL check转换为off