SoloCodigo

Programación General => C/C++ => Visual C++ => Mensaje iniciado por: martinss en Miércoles 4 de Octubre de 2006, 17:30

Título: Leer Archivo
Publicado por: martinss en Miércoles 4 de Octubre de 2006, 17:30
Necesito un code para leer un archivo de texto..
el que tengo es asi:

 FILE * pFile;
 pFile=fopen ("hola.txt","r");
 if (pFile != NULL)
Título: Re: Leer Archivo
Publicado por: SteelX en Miércoles 4 de Octubre de 2006, 18:14
Creo que en el forro hay bastante sobre eso. aqui un ejemplo de lo ultimo

http://foros.solocodigo.com/index.php?showtopic=24432 (http://foros.solocodigo.com/index.php?showtopic=24432)
Título: Re: Leer Archivo
Publicado por: takopiskunov en Viernes 6 de Octubre de 2006, 01:54
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
Título: Re: Leer Archivo
Publicado por: diego.martinez en Viernes 6 de Octubre de 2006, 02:05
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.