读书人

C++程序用命令行调用正常但是直接设

发布时间: 2012-09-25 09:55:58 作者: rapoo

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";
....
}
后编译可以通过 ,但执行后就出现异常,说某块内存冲突,什么原因呢 望大神指教

[解决办法]
这段程序是没有问题的,你的问题可能发生在其它代码段:

C/C++ code
#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;} 

读书人网 >C++

热点推荐