• Sábado 14 de Diciembre de 2024, 19:32

Autor Tema:  Leer Archivo  (Leído 1237 veces)

martinss

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Leer Archivo
« en: Miércoles 4 de Octubre de 2006, 17:30 »
0
Necesito un code para leer un archivo de texto..
el que tengo es asi:

 FILE * pFile;
 pFile=fopen ("hola.txt","r");
 if (pFile != NULL)

SteelX

  • Miembro MUY activo
  • ***
  • Mensajes: 218
    • Ver Perfil
Re: Leer Archivo
« Respuesta #1 en: Miércoles 4 de Octubre de 2006, 18:14 »
0
Creo que en el forro hay bastante sobre eso. aqui un ejemplo de lo ultimo

http://foros.solocodigo.com/index.php?showtopic=24432
Inside the code

takopiskunov

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Re: Leer Archivo
« Respuesta #2 en: Viernes 6 de Octubre de 2006, 01:54 »
0
Código: Text
  1.  
  2. FILE *archivo_lectura;
  3. char letra;
  4.  
  5. archivo_lectura=fopen("texto.txt","r");
  6.  
  7. if(archivo_lectura!=NULL)//
  8. {
  9.       fscanf(archivo_lectura,"%c",&letra); //lectura adelantada
  10.       while(!feof(archivo_lectura)) //bucle hasta fin de fichero
  11.       {
  12.            //procesamos el caracter leido anteriormente
  13.            fscanf(archivo_lectura,"%c",&letra);   //leemos un caracter del archivo y lo metemos en la variable "letra"
  14.       }
  15.  
  16.       fclose(archivo_lectura);// cerramos el archivo
  17.  
  18.  
  19. }
  20. else
  21. {
  22.  
  23.      //Mensaje de error al abrir el archivo
  24.  
  25. }
  26.  
  27.  


Con el codigo anterior vas leyendo el archivo de texto de caracter en caracter. Si deseas leer como enteros , float,... solo debes cambiar los parametros de la lectura y el tipo de variable.

Espero que te sirva de algo.

Un saludo

diego.martinez

  • Miembro MUY activo
  • ***
  • Mensajes: 297
    • Ver Perfil
Re: Leer Archivo
« Respuesta #3 en: Viernes 6 de Octubre de 2006, 02:05 »
0
tambien se puede hacer en windows usando el CreateFile


Handle Handle_del_File;
char * name;

Handle_del_File=CreateFile(name,GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,0,OPEN_ALWAYS,0,NULL);

te devuelve un manipulador de fichero que luego usas para leerlo.
la ventaja es que abriendolo asi te permite abrirlo con otro programa a la vez, aunque , la verdad es que nunca lo he hecho  :P


Para leerlo usas ReadFile (HANDLE file_handle, char * buffer, unsigned int NBytesALeer, & unsigned int NBytesLeidosConExito, (LPOVERLAPPED) NULL);

y para escribir mas de lo mismo

WriteFile(file , string , strlen(string), &n ,(LPOVERLAPPED)NULL);

Aun asi se puede usar el fopen de toda la vida , solo lo pongo como alternativa adicional.