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

时间:2019-05-28 12:36:21

标签: c++ pointers configuration visual-studio-2017 arguments

我无法使用int main(int argc, char* argv[])获取命令行参数,没有错误发生,但是当想要进行进一步操作时,我看到argv[ ]和其他相关变量没有任何值,并说{{1 }},然后发生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; } 并通过 ProjectProperties-> Debugging-> Command Argument 传递命令arg,并且每次都能完美运行。是否可能没有适当的标题,或者项目配置中的任何更改都可能导致冲突?

1 个答案:

答案 0 :(得分:1)

请确保将子系统设置为控制台Linker -> SubSytem -> Console (/SUBSYSTEM:CONSOLE),并且不要设置Entry point并将Whole Program Optimization设置为No Whole Program Optimization并将SDL check设置为{{1} }。