int _tmain(int argc, _TCHAR* argv[])
{
if (argc != 3) {
printf("Format is straightline.exe <EO records file> <output file>");
return 1;
}
string eoPath = string(__argv[1]);
//...other stuff ...
}
如果
__argc == 3
,__argv
如何成为空指针?我的调试器告诉我在尝试引用
__argv
时程序崩溃后0x00000000
指向__argv[1]
(并且我已验证__argc == 3
)。这是一个最小的程序,它发生在我进行任何类型的处理之前。
最佳答案
如果将其编译为unicode,则__argv
将为null,而__wargv
将包含所需内容。我相信有一个__targv
应该包含命令行参数,而不管unicode还是ascii。
但是,如果只使用传递给_tmain的argv
作为参数,为什么还要使用其中的任何一个?
关于visual-studio-2010 - Visual Studio C++ 2010 __argv如何成为空指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9745704/