Advertisement
Garro

Metodos para FLEX

Nov 26th, 2013
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.59 KB | None | 0 0
  1. void crear (const char arch[100]){
  2.     archivo1.open (arch);  
  3. }
  4. void ingresar(int codigo, const char nombre[100],int edad, const char direccion[100]){
  5.     archivo1 << codigo << " " << nombre << " " << edad << " " << direccion << endl;
  6. }
  7. void listar(){
  8.     string line;
  9.     while(!archivo2.eof()){                 //Mientras no llegue al final del archivo...
  10.         getline (archivo2,line);            //Obtiene una linea.
  11.         cout << line;                       //Imprime la linea.
  12.         if(!archivo2.eof()) cout << endl;   //Mientras no sea la ultima linea, imprime '\n'.
  13.     }archivo2.clear( );                     //Acciones que regresan el fstream al tope del archivo.
  14.     archivo2.seekg( 0, std::ios::beg );
  15. }
  16. void mostrar (int codigo){
  17.     string line;
  18.     string sub_line;
  19.     sprintf(num,"%d",codigo);               //Transforma el argumento en string, para comparar más tarde.
  20.     int i=codigo;                  
  21.     int cod_len = 1;
  22.     while(i>9){ cod_len++; i/=10; }         //Obtiene el largo del numero indice.
  23.     while(!archivo2.eof()){                 //Mientras no llegue al final del archivo...
  24.         getline (archivo2,line);            //Obtiene linea.
  25.         sub_line = line.substr(0,cod_len);  //Corta el indice de la linea.
  26.         if(sub_line == num){                   
  27.             cout << line;                   //Si el indice cortado coinside con el argumento codigo (transformado a string), imprime.
  28.             break;                          //Sale del while ya que se encontro lo buscado.
  29.         }
  30.     }archivo2.clear( );                     //Acciones que regresan el fstream al tope del archivo.
  31.     archivo2.seekg( 0, std::ios::beg );
  32. }
  33. void cerrar (){
  34.     archivo1.close();
  35.     archivo2.close();
  36. }
  37. void abrir (const char arch[100]){
  38.     archivo1.open (arch,  ofstream::out | ofstream::app);
  39.     archivo2.open(arch);
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement