Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: MRx86 en 25 Noviembre 2016, 22:04 pm



Título: ayuda con codigo en C++
Publicado por: MRx86 en 25 Noviembre 2016, 22:04 pm
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
  1.  
  2. #include <iostream>
  3. #include <string.h>
  4.  
  5. using namespace std;
  6.  
  7. int main(int argc, char **argv)
  8. {
  9. if (argc < 2)
  10. {
  11. cout << "muy pocos argumentos.";
  12. return -1;
  13. }
  14.  
  15. unsigned int i;
  16.  
  17. for (i = 0; i < argc; i++)
  18. {
  19. if (!strcmp(argv[i], "-a"))  
  20.                                cout << "uno de los parametros fue un -a" << endl;
  21.  
  22. else
  23. if (!strcpy(argv[i], "-b"))
  24. cout << "uno de los parametros fue un -b" << endl;
  25.  
  26.  
  27. else
  28. if (!strcpy(argv[i], "-c"))
  29. cout << "uno de los parametros fue un -c" << endl;
  30. }
  31.  
  32.        return 0;
  33. }
  34.  
  35.  

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



Título: Re: ayuda con codigo en C++
Publicado por: _Slash_ en 25 Noviembre 2016, 22:28 pm
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.


Título: Re: ayuda con codigo en C++
Publicado por: MRx86 en 26 Noviembre 2016, 02:01 am
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.