SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: jodijo5 en Viernes 11 de Enero de 2008, 19:37

Título: Problemas Con Algoritmo De Ficheros
Publicado por: jodijo5 en Viernes 11 de Enero de 2008, 19:37
hola amigos tenia una duda, en linux los programas kate y gedit, abren sus archivos en breves momentos, en cambio, tengo un algoritmo que lista linea por linea un documento pero me parece muy lento cuando por ejemplo abro un archivo de mas de 3MB, queria saber si estoy haciendo algo mal o esque no estoy utilizando el algoritmo correcto, gracias de antemano por su ayuda

Código: Text
  1.  
  2. #include<iostream>
  3. #include<fstream>
  4. #include<cstring>
  5. using namespace std;
  6. int main(){
  7.   char linea[1000];
  8.   char archivo[400],caracter;
  9.   int i=0;
  10.   cout<<"Enter de file path -> ";
  11.   cout<<"*****************************";
  12.   fstream file;
  13.   file.open(archivo,ios::out|ios::in);
  14.   if(file.is_open()){
  15.     cout<<"   Archivo abierto (Sí)\n";
  16.     while(file.eof()==false){
  17.       file.getline(linea,1000);
  18.       cout<<"      "<<linea<<endl;
  19.     }
  20.   }
  21.   else{
  22.     cout<<"   Archivo abierto (No)\n";
  23.   }
  24.   return 0;
  25. }
  26.  
  27.  
Título: Re: Problemas Con Algoritmo De Ficheros
Publicado por: Solenbum en Viernes 11 de Enero de 2008, 23:10
interesante sería tener a mano los codigos que usan tales programas mencionas para comparar y ver diferencias de complejidades, grados, aristas, calculo, algoritmos, .
Título: Re: Problemas Con Algoritmo De Ficheros
Publicado por: hano en Sábado 12 de Enero de 2008, 04:17
Hola:

Se me ocurre...

Los programas que mencionas cargarán los ficheros completos en memoria, y sólo imprimirán por pantalla las líneas adecuadas (digamos unas 100 líneas).

El código que has copiado abre un archivo, lee una línea y la imprime por la salida estándar, y así hasta el final del fichero (un montón de líneas). Prueba a no imprimir las líneas a ver si que el tiempo de lectura del archivo es igual de rápido que el de los programas que el de esos programas.

Un saludo.

Luis Javier López Arredondo
Título: Re: Problemas Con Algoritmo De Ficheros
Publicado por: jodijo5 en Miércoles 16 de Enero de 2008, 18:42
usando la libreria stdio.h con la instruccion fopen he logrado un ligero pero muy ligero aumento en la rapidez, pero hasta ahora no iguala a los programas mencionados, gracias de todas formas por el dato :D