Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Leer una cadena de caracteres de longitud indefinida en C

Estas en el tema de Leer una cadena de caracteres de longitud indefinida en C en el foro de C/C++ en Foros del Web. hola, soy nuevo con esto de los punteros y todavia no he conseguido utilizar bien las funciones de assignacion dinamica de memoria. La cuestion es ...
  #1 (permalink)  
Antiguo 17/05/2007, 10:23
 
Fecha de Ingreso: mayo-2007
Mensajes: 1
Antigüedad: 17 años
Puntos: 0
Leer una cadena de caracteres de longitud indefinida en C

hola, soy nuevo con esto de los punteros y todavia no he conseguido utilizar bien las funciones de assignacion dinamica de memoria. La cuestion es que necesito leer cadenas desde fichero y almacenarlas dinamicamente. si puede alguien ayudarme con esto lo agradeceria. saludos
  #2 (permalink)  
Antiguo 17/05/2007, 22:14
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Re: Leer una cadena de caracteres de longitud indefinida en C

Te ayudamos pero en que?

char *buffer=(char *)malloc(100*sizeof(char));

o que es lo que quieres, por que asi como lo dices, como que pues muy general

Saludos
  #3 (permalink)  
Antiguo 18/05/2007, 02:26
Avatar de cris_maco  
Fecha de Ingreso: abril-2007
Ubicación: Salamanca
Mensajes: 254
Antigüedad: 17 años
Puntos: 0
Re: Leer una cadena de caracteres de longitud indefinida en C

si crees que el problema es que la longitud es indefinida calcula la longitud del fichero antes. La función lseek devuelve el numero de caracteres leídos, sitúate al final del fichero con ella y te devuelve la longitud total del fichero. Pero no te olvides de volver a situarte al principio
  #4 (permalink)  
Antiguo 18/05/2007, 17:22
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Re: Leer una cadena de caracteres de longitud indefinida en C

En todo caso sería:

fseek(file, 0, SEEK_END);
longitud=ftell(file);
fseek(file, 0, SEEK_SET);

Saludos
  #5 (permalink)  
Antiguo 19/05/2007, 05:18
Avatar de cris_maco  
Fecha de Ingreso: abril-2007
Ubicación: Salamanca
Mensajes: 254
Antigüedad: 17 años
Puntos: 0
Re: Leer una cadena de caracteres de longitud indefinida en C

no exactamente, yo digo esto

longitud=lseek(file, 0, SEEK_END);
lseek(file, 0, SEEK_SET);
  #6 (permalink)  
Antiguo 20/05/2007, 08:12
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Re: Leer una cadena de caracteres de longitud indefinida en C

Y lseek esta en stdlib?
Saludos
  #7 (permalink)  
Antiguo 20/05/2007, 08:53
Avatar de cris_maco  
Fecha de Ingreso: abril-2007
Ubicación: Salamanca
Mensajes: 254
Antigüedad: 17 años
Puntos: 0
Re: Leer una cadena de caracteres de longitud indefinida en C

si, para saber mas mira esto:

http://labsopa.dis.ulpgc.es/prog_c/FICHER.HTM
  #8 (permalink)  
Antiguo 20/05/2007, 09:36
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Re: Leer una cadena de caracteres de longitud indefinida en C

Ahh. ya veo.
Pero segun mi experiencia las llamadas al sistema no son estandar, ya que estas son diferentes en cada OS.

Y pues lo que propuse fue una serie de funciones estandares.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:45.