Foros del Web » Programación para mayores de 30 ;) » Programación General »

C (Archivos)

Estas en el tema de C (Archivos) en el foro de Programación General en Foros del Web. Hola ¿Qué tal? Tengo unas preguntas. ¿Cómo se extrae y se inserta información de un archivo ya creado? En el código de aquí uso la ...
  #1 (permalink)  
Antiguo 21/09/2004, 15:15
Avatar de Shia  
Fecha de Ingreso: septiembre-2003
Mensajes: 202
Antigüedad: 20 años, 8 meses
Puntos: 0
C (Archivos)

Hola ¿Qué tal?
Tengo unas preguntas.
¿Cómo se extrae y se inserta información de un archivo ya creado?

En el código de aquí uso la variable save como char[50], pero cuando reviso el archivo para ver si la información se guardo, sucede que no se guarda todo lo que escribo se guardar lo que escriba antes de hacer un espacio si hago un espacio así yo escriba más esa información no se guarda en el archivo.

Alguien me puede decir ¿Por qué? ¿Cómo hago para guardar todo lo que escribo?

# include <stdio.h>
# include <conio.h>
void main()
{
int i;
char save[50];
textbackground (0);
clrscr ();
FILE *disco;
disco = fopen ("c:\\test.txt","w");
printf ("Ingresa nombre\n");
scanf ("%s",&save[i]);
fprintf(disco,save[i]);
}
  #2 (permalink)  
Antiguo 21/09/2004, 16:47
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Bueno posiblemente sea porque scanf solo te va a leer lo que escribas hasta el primer espacio.
Usa otra funcion como gets o algo parecido.
Tambien recuerda usar el fclose al final para que se cierre bien el archivo txt

saludos
  #3 (permalink)  
Antiguo 06/10/2004, 12:18
Avatar de Shia  
Fecha de Ingreso: septiembre-2003
Mensajes: 202
Antigüedad: 20 años, 8 meses
Puntos: 0
Gracias.. use gets
  #4 (permalink)  
Antiguo 06/10/2004, 12:46
Avatar de yampoo  
Fecha de Ingreso: noviembre-2001
Ubicación: Vilanova i la Geltrú
Mensajes: 1.942
Antigüedad: 22 años, 5 meses
Puntos: 0
Lo del espacio también se soluciona poniendo scanf("%[^\n]",variable)
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 21:10.