switch(*argv[1])
{
case '+': printf("é +"); break; // aqui funciona
case '*': printf("é *"); // aqui não funciona
}
alguém sabe a razão?
switch(*argv[1])
{
case '+': printf("é +"); break; // aqui funciona
case '*': printf("é *"); // aqui não funciona
}
alguém sabe a razão?
Aqui funcionou. Tem certeza que passou os parâmetros na linha de comando?
Se a Cake estiver usando Linux ou Unix, um “" é interpretado e expandido pelo shell antes de ser passado ao executável. Para ser interpretado corretamente, o "” deve ser antecedido por um “” ou então cercado por aspas simples ou duplas.
passei o parâmetros…
o nome do arquivo é teste…
além disso, dá certo fazendo
teste +
uso o windows xp, mas pondo as aspas funcionou…
teste “*”
não entendo hehe
Na linha de comando * é um wildcard, que significa “Qualquer coisa”. Você pode usar o comando dir, por exemplo, assim:
Isso lista todos os arquivos com a extensão txt.
Talvez o SO esteja tratando isso para você.
Entre aspas, * significa * mesmo.
passei o parâmetros…
o nome do arquivo é teste…além disso, dá certo fazendo
teste +uso o windows xp, mas pondo as aspas funcionou…
teste “*”não entendo hehe
Se não estiver usando o Microsoft Visual Studio mas sim algum outro compilador (como o do Code::Blocks, que é o gcc ou g++) provavelmente ele simule o comportamento do Unix / Linux para você (no caso do compilador da Microsoft, é possível linkar com o arquivo setargv.obj que simula esse mesmo comportamento) .
E é por isso que quando você pôs o “*” entre aspas funcionou.