Ayuda - Buscar una cadena en parametros de funcion

Iniciado por Miky Gonzalez, 4 Julio 2012, 11:23 AM

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

Miky Gonzalez

Hola, tengo un pequeño problema que no soluciono:
Tengo (por ejemplo) la siguiente funcion: funcion main(int argc, char **argv).
Y tengo por ejemplo: si (argv[1] == "argumento1"); se escribio un argumento.
Pero como puedo hacer para buscar por ejemplo si se ha contenido en la lista de argumentos el argumento -e por ejemplo para especificar algo, es decir podria hacer: prog.exe a -e; u otro ejemplo prog.exe -e a.
Es decir que sepa si se ha especificado el argumento buscandolo.. intente con strcmp pero nose como hacer para buscar en todos los posibles argumentos que haya puesto
Mi blog personal, con información acerca de programación, seguridad, desarrollo y electrónica:

EN CONSTRUCCIÓN

satu

Hola

Es muy fácil, recorriendo hasta donde te indique argc

Código (cpp) [Seleccionar]

int main(int argc, char **argv) {
    for(int i = 1; i < argc; i++) {
        if(strcmp(argv[i], "lo que sea") == 0) {
            ......
        } else {
            if(strcmp(argv[i], "otra cosa") == 0) {
                .........
            }
        }
    }
}


Saludos
Breakbeat como forma de vida

Miky Gonzalez

O_O cierto es, como no me di cuenta, muchas gracias satu.
Mi blog personal, con información acerca de programación, seguridad, desarrollo y electrónica:

EN CONSTRUCCIÓN

0xDani

Yo mas bien haria:
Código (cpp) [Seleccionar]

int main(int argc, char** argv){
for(int i=0; i<argc; i++){
  if(strcmp(argv[i], "algo")!=0) continue;
  else {/*codigo*/ break; }
}
return 0;
}

Asi vas buscando el argumento que quieras hasta que lo encuentres, ejecutas lo que quieras y luego sales del bucle.

Saludos.
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM