Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Lista De Argumentos Del Programa...

Iniciado por Douch, 30 de Abril de 2004, 01:38:05 PM

« anterior - próximo »

Douch

 Hola.

Por ejemplo ejecuto ésta línea dentro de la ventana de comandos del Windows (o en MS-DOS, da igual):

C:\> miprograma.exe  abcdefg (siendo:   )

Se que para poder obtener el argumento hay que usar:    "int argc, char *argv[ ]"

Lo que pasa es que yo no quiero obtener todo el argumento de golpe, sino un caracter cada vez (No, no me sirve el introducir cada carácter del argumento como otros argumentos :P). Y ahí es donde radíca mi problema, ya que no se si se puede acceder carácter a carácter, o es necesario cargar todo el argumento en una variable de tipo string. Lo que me interesa es lo primero, ya que se supone que no hay un tamaño definido para el argumento, y por tanto quiero usar punteros para almacenarlo y poder tratarlo a mi gusto.

En fin, en resumen. ¿Se puede obtener un carácter del argumento?. Y ya que estamos, ¿que os parece los tipos string?. No se, no estoy muy puesto todavía y nunca los había usado. ¿Lo habeis hecho vosotros?

Gracias de antemano.


seryu

 ya tienes un puntero de tipo char que apunta a la cadena de caracteres con los argumentos, eso no te sirve?

sés

 Odio el tipo string, char * al poder ^_^
Soy indeciso... ¿o no?

ShAq

 buenas, no se si te he entendido bien, estas diciendo que quieres obtener
cada letra del argumento1?, es decir a, b, c, d...
si te refieres a eso puedes acceder a cada elemento de la cadena
del argumento con el operador [],
es decir:
argv[1][0] ->seria la a
argv[1][1] -> la b...
etc...

la clase string esta bien, pero si tienes suficiente con cadenas de caracteres
no merece la pena complicarse, por lo menos desde mi punto de vista
un saludo!

Douch

 Vale, ya lo he resuelto. Bueno, miento, me lo ha resuelto ShAq. Muchas gracias.

Según ponía en el MSDN:


argv:

An array of null-terminated strings. It can be declared as an array of pointers to char (char *argv[ ] or wchar_t *argv[ ] for wmain) or as a pointer to pointers to char (char **argv or wchar_t **argv for wmain). The first string (argv[0]) is the program name, and each following string is an argument passed to the program from the command line. The last pointer (argv[argc]) is NULL.



Y la verdad,...  (nooo) ¡¡ no me acordaba de como se hacía !!. Uff... es que 2 años lejos de C dejan huella.

En fin, gracias por la ayuda.

Douch.

ShAq

 me alegra haberte sido de ayuda ;)
un saludo.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.