tengo una duda con los ficheros cuando implemento el siguiente codigo solo me crea el txt pero no me guarda nada, pero si me crea el archivo.
FILE *fp;
fp = fopen ( "datos.txt", "w" );
fclose ( fp );
creen que sera por la forma en que pregunto datos por ejemplos lo pregunto con printf(" "); y leo con scanf o es de otra manera les agradeceria
MMmmm pero llegas a escribir datos en el fichero con fwrite (por ejemplo..) y por supuesto antes de cerrarlo con fclose ¿?
la w simpre sobreescribe en un fichero
para escribir puedes usar esto
fgets(cadena,100,stdin);//esto te lee
fputs(cadena,pf);//esto te escribe el pf es el puntero a file cadena es donde se almaceno lo q escribes y 100 es el tamano de la cadena char cadena[100]
Mira lo que haces, es crear, abrir el fichero y cerrarlo, si hacer ninguna operacion dentro. Lo que tendrias que hacer es usar un fwrite, despues de abrirlo y antes de cerrarlo. La "w", lo que hace es crear el fichero si no existe y sobreescribe el contenido, es decir, que lo que guardes en la primera ejecucion en la segunda se sobreescribiran los datos nuevos sobre los anteriores, eliminandolos. Podrias usar "a+" que lo que hace es crear el fichero si no existe y si existe agrega al final del fichero los nuevos datos manteniendo los anteriores.