Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: kiara_luna en 27 Agosto 2011, 01:03 am



Título: eror al leer archivo
Publicado por: kiara_luna en 27 Agosto 2011, 01:03 am
hola quiero hacer un programa en dev c++ que lea un archivo txt Luego se escriben en el archivo diez números enteros elegidos al azar. Cada vez que se ejecute el programa, se añadirán otros diez números al azar al final del archivo. pero me sale error en  fich  el msn es: conflicting types for fich, previous declaration of fich was here, tambien me aparece error cuando uso fprintf: conflicting type for fprintf, fstream:no such file or directory..  por otro lado quisiera hallar la desviacion de todos los datos que hay en el archivo pero esa partecita si no se como hacerla.....ayuda... 5 estrellas
#include <iostream>
#include <fstream>
#include <stdio.h>


FILE *fich;
   int i, N;
   fich = fopen("ejemplo.txt", "at");
   if (fich == NULL)
      printf("Error al abrir el archivo");
   else
   {
      for (i = 0; N < 10; i++)
      {
         N = random(1000)+1;
         fprintf(fich, "%i\n", N);
      }
      fclose(fich);
   }


Título: Re: eror al leer archivo
Publicado por: Shell Root en 27 Agosto 2011, 01:14 am
Código
  1. #include <stdio.h>
  2.  
  3. int main()
  4. {
  5. FILE *sFile;
  6. int i = 0;
  7.  
  8. sFile = fopen("ejemplo.txt", "w");
  9. for( i=0; i<10; i++ ){
  10. fprintf(sFile, "%i\n", i);
  11. }
  12. fclose(sFile);
  13. return 0;
  14. }


Título: Re: eror al leer archivo
Publicado por: Queta en 27 Agosto 2011, 01:25 am
Shell Root, lo que quiere es que se escriban en el archivo diez números al azar sin que se sobrescriban:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6. FILE *archivo = fopen("ejemplo.txt", "a+t");
  7.  
  8. int i = 0;
  9. int n = 0;
  10.  
  11. if(archivo == 0)
  12.         printf("Error al abrir el archivo.");
  13.  
  14.     else
  15.   {
  16.         for (; i < 10; i++)
  17.         {
  18.             n = rand() % 100 + 1;
  19.  
  20.             fprintf(archivo, "%d\n", n);
  21. }
  22. }
  23.  
  24. fclose(archivo);
  25.  
  26. return 0;
  27. }


Título: Re: eror al leer archivo
Publicado por: Shell Root en 27 Agosto 2011, 06:40 am
Obviamente no iba a hacerle la tarea.


Título: Re: eror al leer archivo
Publicado por: kiara_luna en 28 Agosto 2011, 16:28 pm
gracias Queta, ya no me salen los errores, le cambie al programa el return pues me salía error ahí, por ello lo sustituí con el getch. mil gracias


Título: Re: eror al leer archivo
Publicado por: Queta en 28 Agosto 2011, 16:47 pm
De nada ::).


Título: Re: eror al leer archivo
Publicado por: satu en 28 Agosto 2011, 17:29 pm
Hola

Queta en tu código el fclose debe ir dentro del else para asegurarte de cerrar el fichero sólo cuando está abierto

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main()
  5. {
  6. FILE *archivo = fopen("ejemplo.txt", "a+t");
  7.  
  8. int i = 0;
  9. int n = 0;
  10.  
  11. if(archivo == 0)
  12.         printf("Error al abrir el archivo.");
  13.  
  14.     else
  15.   {
  16.         for (; i < 10; i++)
  17.         {
  18.             n = rand() % 100 + 1;
  19.  
  20.             fprintf(archivo, "%d\n", n);
  21. }
  22. fclose(archivo);
  23. }
  24.  
  25. return 0;
  26. }
  27.  

Saludos