Não consigo passar strings começando com #
argumentos de linha de comando.
Aqui está um teste simples:
#include <stdio.h>
int main(int argc, char *argv[])
{
for (int i = 1; i < argc; i++)
printf("%s ", argv[i]);
putchar('\n');
return 0;
}
Se eu inserir os argumentos da seguinte maneira:
2 4 # 5 6
O valor de argc
é 3
e não 6
. Ele lê #
e pára por aí. Não sei por que e não consigo encontrar a resposta em minhas cópias da linguagem de programação C e do C Primer Plus .