C++程序用命令行调用正常,但是直接设置参数会出错,为什么?
代码如下
int main (int argc, char** argv)
{
std::string ipAddress;
if (argc > 1)
ipAddress = argv[1];
else
{
std::cout << "Usage: ./connectscanner <ip-address>" << std::endl;
return -1;
}
....
}
这段代码 如果在命令行中调用 可以正常使用,但是当我把上述代码改为
int main (void)
{
std::string ipAddress="192.168.0.1";
....
}
后编译可以通过 ,但执行后就出现异常,说某块内存冲突,什么原因呢 望大神指教
[解决办法]
这段程序是没有问题的,你的问题可能发生在其它代码段:
#include <iostream>int main(int argc, char* argv[]){ std::string ipAddress = "192.168.0.1"; if(argc > 1) { ipAddress = argv[1]; } else { std::cout << "Usage: ./connectscanner <ip-address>" << std::endl; return -1; } return 0;}