Hola, bueno estaba aburrido en mi casa y me puse a programar, y en eso me encontre con un error, este es el codigo:
#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
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.
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.