首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++程序用命令行调用正常,但是直接设置参数会出错,为什么?该如何处理

2012-09-25 
C++程序用命令行调用正常,但是直接设置参数会出错,为什么?代码如下int main (int argc, char** argv){std:

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;} 

热点排行