Programación General > C++ Builder
expliquenme fstream porfavor
(1/1)
dhararon:
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:
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:
pero por ejemplo
yo quiero lo siguiente;
--- Código: Text ---char ar[500];char file[250];char ar2[10]="hola";ifstream filein("file");/*la direccion del archivo esta guardado en file*/
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 --- char ar[500];char file[250];char ar1 [10]="HOla";strstr(ar , ar1);if(strstr){printf(" se encontro el texto HOla en el texto: ");}else{printf("no se encontro en el archivo %s la palabra HOla",file);}
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.
Navegación
Ir a la versión completa