我写了下面的代码,它不起作用,但是当我改变它时,第二个代码段将会起作用。C++比较c字符串的问题
int main(int argc, char *argv[])
{
if(argv[ 1 ] == "-i") //This is what does not work
//Do Something
}
但是,如果我写这样的代码,这将工作。
int main(int argc, char *argv[])
{
string opti = "-i";
if(argv[ 1 ] == opti) //This is what does work
//Do Something
}
是因为字符串类==作为一个重载成员,因此可以执行此操作吗?
在此先感谢。
有使用STRCMP任何问题吗?我只是想知道这样做的好处... – rplusg 2010-01-04 06:29:35
它看起来像你试图阅读命令行选项。如果您在Linux机器上,请查看getopt()函数http://linux.die.net/man/3/getopt – 2010-01-04 07:40:32