• Miércoles 3 de Julio de 2024, 01:05

Autor Tema:  expliquenme fstream porfavor  (Leído 1618 veces)

dhararon

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
expliquenme fstream porfavor
« en: Sábado 1 de Noviembre de 2008, 04:55 »
0
hola, aqui otra vez yo,  

quisiera saber si me podrian explicar como funciona fstream  y  como lo puedo convinar con  seekg   para  abrir un archivo en binario y  con seek buscar cierto o ciertos caracteres.

de antemano gracias,  

PD: Si pudieran porner un ejemplo estaria mas entendible,  gracias a todos por toda la informacion que me han proporcionado

rccr345

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: expliquenme fstream porfavor
« Respuesta #1 en: Sábado 1 de Noviembre de 2008, 06:19 »
0
puedes usar la clase ifstream para operaciones de lectura de archivos de la siguiente forma :

ifstream fichero("nombredelfichero" , ios::binary ) ; //recuerda incluir  fstream

ahora con seekp() puedes posicionarte en el fichero, seekp() tiene dos parametros
seekp(desplazamiento , posicion) , el *desplazamiento* es un numero entero de byte (que puede ser negativo o positivo) , que indica cuanto te vas a mover, el parametro *posicion* puede ser cualquiera de estos
 ios::beg , para moverte desde el principio del archivo
 ios::cur , para moverte desde la posición actual del apuntador
 ios::end  , para moverte desde el final del archivo

 Luego puedes usar la funcion miembro read() para leer un caracter :

char caracter [1] ;
 fichero.read( caracter , sizeof(caracter)  ) ;


Asi puedes leer caracter a caracter................

dhararon

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: expliquenme fstream porfavor
« Respuesta #2 en: Sábado 1 de Noviembre de 2008, 08:13 »
0
pero por ejemplo
yo quiero lo siguiente;

Código: Text
  1. char ar[500];
  2. char file[250];
  3. char ar2[10]="hola";
  4. ifstream filein("file");/*la direccion del archivo esta guardado en file*/
  5.  


pero lo que quiero es que lo que aparesca en seekp se guarde en ar, para luego realizar una comparacion.

no se que sea mejor usar seekp o  usar strstr para buscar varios caracteres y encerrarlos en un if?

porfavor si me pueden ayudar les agradeceria.

El objetivo del programa es la comparacion de 2 archivos, aunque estan en formato .txt,  quiero abrir el archivo desde la cnsola, guardarla en un char y usar strstr o seekp para la comparacion de:

ejemplo con strstr;
Código: Text
  1.  
  2. char ar[500];
  3. char file[250];
  4. char ar1 [10]="HOla";
  5. strstr(ar , ar1);
  6. if(strstr){
  7. printf(" se encontro el texto  HOla en el texto: ");
  8. }
  9. else
  10. {
  11. printf("no se encontro en el archivo %s la palabra HOla",file);
  12. }
  13.  

asi es como me lo imagino con strstr, pero no se como abrir el archivo en binarios y leerlos con strstr o  con seekp.

Perfavor ayudenme, es mi proyecto final en la escuela. El nombre del programa es:  comparacion en bianrios.

de antemano gracias.