Betrayal
 
#1 14 ene 10, 12:06
#1 14 ene 10, 12:06

Ayuda c++ argumentos de la funcion main

Hola, estoy haciendo una practica en c++ y necesito que al programa (es un juego de blackjack) le lleguen unos argumentos indicando el numero de jugadores en la partida, si el jugador va a ser controlado por el ordenador o por un humano, etc etc

La cosa es que es la primera vez que veo esto, y no entiendo muy bien como funciona. He buscado informacion por google y he visto que el primer argumento "int argc" me controla el numero de argumentos que tiene el programa, nombre del programa incluido.

Lo que no tengo claro es como usar el segundo argumento que recibe el main "char **argv", se supone que que cada "*char[]" contiene cada uno de los argumentos que le he pasado al programa, pero no se como acceder a ellos.

He probado declarando:
"char *auxiliar = *argv[0];" para probar si en auxiliar se me metia el nombre del programa pero no me sale bien :/

Lo que a mi me gustaria, es meter todos los datos que recoje el char **argv en un vector stl de strings, para manejarlos comodamente dentro del programa. ¿ Alguien me ayuda? :S


EDIT: SOLUCIONADO

Dejo escrito como se hace por si a alguien le interesa:

int i;
vector<string> argumentos;
string auxiliar;

for(i=0; i < argc, i++)
{
auxiliar = argv "["i"]"; // lo pongo entre comillas por que sino no sale el "["i"]" no se por que
argumentos.push_back(auxiliar);
}

// Con eso ya tengo lo que queria, un vector de strings con todos los argumentos que ha recibido el programa.

Mensaje editado 11 veces. Última edición 14 ene 10, 12:22
 
Claunia
 
Claunia
 
#2 18 ene 10, 01:15
#2 18 ene 10, 01:15
Si lo estás haciendo en windows si mal no recuerdo el runtime de VC++ trae una función para parsear argumentos.

Y como parsear, me refiero a:

programa -opcion parametro -otraopcion otroparametro

un array opcion=parametro, otraopcion=otroparametro

tambien hay una libreria para C y C++ muy usada en Linux cuyo nombre tendria que consultar ahora mismo.

Esto puede interesarte más adelante ^^
Favoritos
0


Regístrate y participa

Más de 100.000 mentes enfermas no pueden estar equivocadas.

Regístrate ahora! Sólo son 10 segundos!
x