ayuda con codigo en C++

Iniciado por MRx86, 25 Noviembre 2016, 22:04 PM

0 Miembros y 1 Visitante están viendo este tema.

MRx86

Hola, bueno estaba aburrido en mi casa y me puse a programar, y en eso me encontre con un error, este es el codigo:

Código (cpp) [Seleccionar]


#include <iostream>
#include <string.h>

using namespace std;

int main(int argc, char **argv)
{
if (argc < 2)
{
cout << "muy pocos argumentos.";
return -1;
}

unsigned int i;

for (i = 0; i < argc; i++)
{
if (!strcmp(argv[i], "-a"))  
                               cout << "uno de los parametros fue un -a" << endl;

else
if (!strcpy(argv[i], "-b"))
cout << "uno de los parametros fue un -b" << endl;


else
if (!strcpy(argv[i], "-c"))
cout << "uno de los parametros fue un -c" << endl;
}

       return 0;
}



el problema es el siguiente:

cuando ejecuto el programa en el CMD pasa esto:

C:/> prueba -a -b -c

me sale:

uno de los argumentos fue un -a

y ya, no sale mas nada, cuando deberia salir

uno de los argumentos fue un -a
uno de los argumentos fue un -b
uno de los argumentos fue un -c

la pregunta es, porque no sale esto??

Gracias

"Tengo una pregunta que a veces me tortura: ¿Estoy loco
yo, o los locos son los demas?"
- Albert Einstein

_Slash_

Es sencillo el error que tienes, en el primer if estas usando strcmp y en los otros dos tienes strcpy, por lo tanto también debes de usar en estos dos últimos strcmp.

Saludos.
Despierta del sueño en el que has estado siempre y date cuenta de la cruda y cruel realidad.

MRx86

Aah tienes razon muchas gracias.. de verdad que tonto fui jajaja, eso me pasa por intentar reutilizar codigo copiando y pegando algo que habia hecho antes de eso.

"Tengo una pregunta que a veces me tortura: ¿Estoy loco
yo, o los locos son los demas?"
- Albert Einstein