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
Hola
Es muy fácil, recorriendo hasta donde te indique argc
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
O_O cierto es, como no me di cuenta, muchas gracias satu.
Yo mas bien haria:
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.