C/Visual C - Como almacenar string en una variable

 
Vista:

Como almacenar string en una variable

Publicado por Minor (8 intervenciones) el 01/03/2004 00:46:55
Primeramente, gracias de antemano. Quisiera ver si alguien me puede indicar como se hace para leer un string desde el tecaldo utilizando "scanf" y de que manera puedo almacenar ese string en una variable. Es que necesito que el usuario me indique por teclado un path donde se encuentra un archivo, necesito almacenar ese path en una variable que ya tengo declarada como "char *path" y luego que el programa tome esa varible y abra el archivo deseado. Hay que utilizar malloc para reservar espacio de memoria para el string? si es asi, como se hace??? Apreciaria muchisimo su ayuda.
Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como almacenar string en una variable

Publicado por Nasón (40 intervenciones) el 01/03/2004 10:09:04
Yo resolvería el problema utilizando un array estático, por ejemplo:
char path[101], es dificil que el nombre de un fichero(junto con su ruta) tenga más de 100 caracteres y este no ocupará mucho en memoria. Recuerda que su quieres de clarar un array que contenga cadenas de, por ejemplo, 100 caracteres debes poner entre los corchetes [101] ya que la última posición se reserva para en carácter de finalización de la cadena '\0'.
Para escribir en el array desde el teclado sería así:
scanf ("%s", path); observa que no ponemos &path, esto es porque el nombre de un array es una dirección en memoria, que es el parámetro que acepsa scanf. Personalmente yo guardaría la ruta utilizando gets() así:
gets(path)

Espero haberte servido de ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

postdata

Publicado por Nasón (40 intervenciones) el 01/03/2004 10:13:28
Acuérdate de limpiar el buffer de entrada antes de llamar a la función gets o scanf:
fflush (stdin)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar