elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda al cerrar un archivo que fclose no pudo cerrar. -
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda al cerrar un archivo que fclose no pudo cerrar. -  (Leído 1,944 veces)
NOB2014


Desconectado Desconectado

Mensajes: 366



Ver Perfil
Duda al cerrar un archivo que fclose no pudo cerrar. -
« en: 1 Marzo 2017, 17:02 pm »

Hola, gente, que tengan un muy buen día. -
La duda es que se debe hacer cuando la función fclose intenta cerrar un archivo y no lo logra, ¿hay alguna manera de informar el error con detalle?, ¿se debe intentar una segunda vez?, ¿que puedo hacer como programador para ayudar a solucionar el problema?. -
 
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(int argc,char **argv){
  5. char frase[] = "arequito, centro soguero del pais";
  6. FILE *ptrFrase = NULL;
  7.  
  8. if(!(ptrFrase = fopen("frase.txt", "w"))){
  9. printf( "\n Error al abrir %s Para escribir. Finaliza el programa.", frase );
  10. exit(1);
  11. }
  12.  
  13. fprintf(ptrFrase, "%s", frase);
  14.  
  15. if( fclose( ptrFrase )!=0){
  16. printf( "\n No se ha podido cerrar el fichero %s.", frase );
  17. }
  18.  
  19. return EXIT_SUCCESS;
  20. }
  21. //https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C/Manejo_de_archivos#fprintf
  22.  
Es todo por el momento, espero que se entienda cuál es mi desconocimiento. -
Saludos.


En línea

abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
AnthonyS

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Duda al cerrar un archivo que fclose no pudo cerrar. -
« Respuesta #1 en: 1 Marzo 2017, 19:45 pm »

Buenas noches,tras haber leído el tema te dejo una solución a tu dilema,espero que con esto te ayude.

El código y la explicación :

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(int argc,char **argv){
  5. char frase[] = "arequito, centro soguero del pais";
  6. FILE *ptrFrase = NULL;
  7.  
  8. if(!(ptrFrase = fopen("frase.txt", "w"))){
  9. printf( "\n Error al abrir %s Para escribir. Finaliza el programa.", frase );
  10. exit(1);
  11. }
  12.  
  13. fprintf(ptrFrase, "%s", frase);
  14. if(fclose( ptrFrase ) == EOF){ /*Fijate que según el link de documentacion "wikilibros.com",se explica que fclose devuelve
  15.                                 0 si se cierra correctamente, y en caso contrario devuelve EOF,por lo que si
  16.                                 devuelve EOF,es cuando se tiene que entrar en este bucle.
  17.                                     Con esto se comprueba si falla o no,ya que mostraria la frase de abajo si no hubiera
  18.                                         logrado cerrarlo correctamente.*/
  19. printf( "\n No se ha podido cerrar el fichero\n");
  20. system("PAUSE");
  21. }
  22.  
  23. return EXIT_SUCCESS;
  24. }
  25.  
  26.  

Un saludo.

Anthony.


En línea

NOB2014


Desconectado Desconectado

Mensajes: 366



Ver Perfil
Re: Duda al cerrar un archivo que fclose no pudo cerrar. -
« Respuesta #2 en: 1 Marzo 2017, 20:11 pm »

Hola, AnthonyS.
Muchas gracias por ocuparte del tema, creo que no entendiste bien mis inquietudes. -
¿A cuál de estas 3 preguntas respondes con tu post?
Citar
hay alguna manera de informar el error con detalle?, ¿se debe intentar una segunda vez?, ¿que puedo hacer como programador para ayudar a solucionar el problema?. -

Gracias nuevamente. -
Daniel
En línea

abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines