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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Grabo archivo y no lo veo creado,en C,Borland C++ 5.02
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Grabo archivo y no lo veo creado,en C,Borland C++ 5.02  (Leído 2,789 veces)
SonaArtica

Desconectado Desconectado

Mensajes: 53


Estudiando...♥


Ver Perfil WWW
Grabo archivo y no lo veo creado,en C,Borland C++ 5.02
« en: 11 Diciembre 2012, 04:29 am »

Bueno antes de todo quiero aclarar:
- Es LENGUAJE C
- Utilizo el Compilador Borland C++ 5.02

PROBLEMA: Guardo el archivo pf.txt en una carpeta de mi disco D. El programa funciona perfecto, el unico inconveniente es que cuando voy a la dirección física donde tendría que estar el archivo que había creado !NO APARECE  >:( !
Les dejo el código:
Código
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4.  
  5. //Estructura cn datos de Productos
  6. struct producto{
  7. int na; //Numero de Articulo
  8.               char a[12]; //Nombre de Articulo
  9.               char d[50]; //Descripcion del Articulo
  10.               float pu; //Precio por Unidad
  11.               int stock; //Stock de Articulo
  12.               };
  13. main(){
  14. int i;
  15. struct producto arti;
  16. FILE *pf;
  17. pf=fopen("D:\Super\pf.txt","wb");
  18. //Comprobacion del Acceso
  19. if(pf==NULL){
  20.             printf("NO SE PUEDE ACCEDER \n");
  21.             getch();
  22.             exit(1);
  23.             }
  24. printf("Ingrese Numero del Articulo a Registrar \n");
  25. scanf(" %d",&arti.na);
  26. while(arti.na){
  27.  fflush(stdin);
  28.                 printf("Ingrese Nombre del Articulo \n");
  29.                 gets(arti.a);
  30.                 printf("Ingrese la Descripcion del Articulo \n");
  31.                 gets(arti.d);
  32.                 printf("Ingrese el Precio por Unidad\n");
  33.                 scanf(" %f",&arti.pu);
  34.                 printf("Ingrese el STOCK de articulos \n");
  35.                 scanf(" %d",&arti.stock);
  36.                 clrscr ();
  37.                 fwrite(&arti,sizeof(struct producto),1,pf);
  38.                 printf("Ingrese Numero del Articulo a Registrar \n");
  39.                 scanf(" %d",&arti.na);
  40.                 }
  41. fclose(pf); //Cierre del Archivo
  42. }
  43.  
  44.  

Espero sus respuesta,Saludos ^^ ;D

PD: Recuerden que si lo van a probar en sus PC deben en esta linea modificar la dirección donde se creara el archivo:
Código
  1. pf=fopen("D:\Super\pf.txt","wb");


« Última modificación: 11 Diciembre 2012, 04:36 am por SonaArtica » En línea

<z
Beakman

Desconectado Desconectado

Mensajes: 190



Ver Perfil WWW
Re: Grabo archivo y no lo veo creado,en C,Borland C++ 5.02
« Respuesta #1 en: 11 Diciembre 2012, 05:58 am »

Código
  1. pf=fopen("D:\Super\pf.txt","wb");

Cambiá eso por esto:

Código
  1. pf=fopen("D:\\Super\\pf.txt","wb");


En línea

SonaArtica

Desconectado Desconectado

Mensajes: 53


Estudiando...♥


Ver Perfil WWW
Re: Grabo archivo y no lo veo creado,en C,Borland C++ 5.02
« Respuesta #2 en: 11 Diciembre 2012, 14:36 pm »

Ahora si se me grabo el archivo pero cuando lo abro se grabo cn basura :(


Y eso que en el while le mande un fflush para que limpiara el buffer y pasa esto. :o
En línea

<z
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Grabo archivo y no lo veo creado,en C,Borland C++ 5.02
« Respuesta #3 en: 11 Diciembre 2012, 17:22 pm »

Ahora si se me grabo el archivo pero cuando lo abro se grabo cn basura :(
Lo primero que debes hacer es evitar el uso de la biblioteca conio de Borland, la función gets, el uso de "fflush(stdin)" y cambiar la definición de la función main. Mas información en la pagina |Lo que no hay que hacer en C/C++. Nivel basico|.

La llamada a "fflush(stdin)" no tiene nada que ver ya que opera sobre la entrada estándar (comportamiento no definido) y no sobre tu archivo. La forma en que se visualiza este en un editor de texto es normal ya que imprimes una estructura, si quieres guardarlo como texto plano debes utilizar la función fprintf.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
twins

Desconectado Desconectado

Mensajes: 54


Ver Perfil
Re: Grabo archivo y no lo veo creado,en C,Borland C++ 5.02
« Respuesta #4 en: 12 Diciembre 2012, 00:48 am »

tienes puesto el programa en while por lo tanto seria aconsejable utilizar un arreglo de estructuta
« Última modificación: 12 Diciembre 2012, 00:50 am por twins » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[b]CON QUE PROGRAMA GRABO DEL DISCO DURO A CD ,CUANDO EL ARCHIVO PESA MAS DE
Software
volko 2 2,428 Último mensaje 2 Abril 2003, 04:19 am
por Bres
Archivo OGM, como lo grabo?
Software
dmarquezc 4 2,000 Último mensaje 23 Junio 2003, 09:45 am
por Songoku
grabo un archivo en 1cd-RW y no encuentro nada en el cd...pq?
Software
nichihack 1 1,526 Último mensaje 20 Febrero 2005, 21:57 pm
por arda-lothi
auxilio como grabo un archivo img para psx
Juegos y Consolas
manselmi22 3 2,952 Último mensaje 19 Febrero 2006, 18:22 pm
por Songoku
[Bash] detectar tamaño de archivo base a archivo creado [DUDA]
Scripting
KZN 0 2,687 Último mensaje 26 Mayo 2015, 21:59 pm
por KZN
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines