2014-09-26 2 views
0

я следующая проблема:«#» или «&» символы, заканчивающиеся аргументы командной строки C++

Когда у меня есть аргумент командной строки, начинающиеся с «&» или «#» характер не учитываются в качестве аргумента, например:

~$ ./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, как это должно быть

Это вызвано оболочкой, распознающей эти специальные символы или что-то в этом роде?

Спасибо.

+1

Да, '' # обозначает начало комментария (на многих оболочках). –

+0

См. Http://hacktux.com/bash/ampersand – cpburnz

ответ

3

В оболочке # прокомментирует остальную часть строки. Вы должны избежать этого:

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

или

./ircbot irc.felk.cvut.cz '#ISAchannel' 192.168.0.1 
Смежные вопросы