'#'或'&'字符终止C++命令行参数

'#' or '&' characters terminating C++ command line arguments

本文关键字:命令行 参数 C++ 字符 终止      更新时间:2023-10-16

我有以下问题:

当命令行参数以"&"开头时或"#"字符,它不算作参数,例如:

~$ ./ircbot irc.felk.cvut.cz #ISAchannel 192.168.0.1

现在argc=2(应该是4)

~$ ./ircbot irc.felk.cvut.cz ISAchannel 192.168.0.1

现在argc=4,因为它应该是

这是由shell识别这些特殊字符或其他原因引起的吗?

谢谢。

在shell中,#注释掉了行的其余部分。你必须逃离它:

./ircbot irc.felk.cvut.cz #ISAchannel 192.168.0.1

./ircbot irc.felk.cvut.cz '#ISAchannel' 192.168.0.1