lectura de archivo CHAR o STRING
Publicado por vanesa (3 intervenciones) el 16/11/2009 18:00:23
hola amigos, me llamo vanesa, estyo tratado de resolver un programita para mi curso de programacion, pero no lo puedo encontrar solucion
CAD : STRING
ARCHI: TEXT
CadChar: CHAR
el programa tiene que acer lo siguiente
* abrir un archivo d etipo texto ReadLn(Archi, cad);
* buscar todas las palabras que tengan la vocal "a" P := pos('A", cad); DETECTO LA A EN LA CADENA CAD
* y almacenarlas en otro archivo de texto tambien
bueno esto es facil, ya lo ice, pero me tope con el problema de que cuando las lineas del archivo son mayores a los 255 caracteres, no me lee toda esa linea, osea cargo los 255 primeros carateres en la variable CAD, y los restantes se cortan, por que la variable en la que almaceno lo declare como STRING
Bueno la solucions eria, declararlo de tipo CHAR ReadLn(Archi, CadChar); , que me cargue caracter por caracter, pero me parece que esto seria como perder algo de rapidez, por que el programa leeria caracter por carater
y lo que quiero es los mas eficaz y lo que todo buen programador lo aria, aunque todavia no llego a ser programadora, bueno pero algun dia lo sere.
y estaba pensando en como acer para que primero m lea todo la cadena que cargue de tipo STRING, De esta forma
*** ReadLn(Archi, cad);
*** P := pos('A", cad)
*** cad[p] := ' '; borro la vocal a, para que no me la lea de nuevo, y reinicio este ciclo para buscar la siguiente vocal "a"
y cuando llego al final de la cadena, osea llego a los 255 caracteres, suponiendo que ese renglon tienen unos 500 caracteres, a partir de la posicion 255 me empiece a leer caracter por caracter, osea deberia acer algo asi como:
read(archi, CadChar);
..
...
..
y asi voy leyendo todo el renglon, asta que salte del bucle """while not(eoln(archi)) do""" cuanod llega al final del renglon, entocnes volveria al principio, cargaria el siguiente renglon, me leeria los 255 caracteres, me extraeria todas las palabas con a, y si es mayor a 255 caracteres pasaria a este parte en que leeria caracter por caracter y me extraeria la palabra que tengan las a
bueno espero que me entiendan, quiero saber si se puede acer asi, que primero me cargue la cadena STRING y despues me vaya cargando CHAR caracter por caracter el resto de la linea o renglon del archivo
desde ya muchas gracias a todos los que me puedan responder, gracias amigos
vane
CAD : STRING
ARCHI: TEXT
CadChar: CHAR
el programa tiene que acer lo siguiente
* abrir un archivo d etipo texto ReadLn(Archi, cad);
* buscar todas las palabras que tengan la vocal "a" P := pos('A", cad); DETECTO LA A EN LA CADENA CAD
* y almacenarlas en otro archivo de texto tambien
bueno esto es facil, ya lo ice, pero me tope con el problema de que cuando las lineas del archivo son mayores a los 255 caracteres, no me lee toda esa linea, osea cargo los 255 primeros carateres en la variable CAD, y los restantes se cortan, por que la variable en la que almaceno lo declare como STRING
Bueno la solucions eria, declararlo de tipo CHAR ReadLn(Archi, CadChar); , que me cargue caracter por caracter, pero me parece que esto seria como perder algo de rapidez, por que el programa leeria caracter por carater
y lo que quiero es los mas eficaz y lo que todo buen programador lo aria, aunque todavia no llego a ser programadora, bueno pero algun dia lo sere.
y estaba pensando en como acer para que primero m lea todo la cadena que cargue de tipo STRING, De esta forma
*** ReadLn(Archi, cad);
*** P := pos('A", cad)
*** cad[p] := ' '; borro la vocal a, para que no me la lea de nuevo, y reinicio este ciclo para buscar la siguiente vocal "a"
y cuando llego al final de la cadena, osea llego a los 255 caracteres, suponiendo que ese renglon tienen unos 500 caracteres, a partir de la posicion 255 me empiece a leer caracter por caracter, osea deberia acer algo asi como:
read(archi, CadChar);
..
...
..
y asi voy leyendo todo el renglon, asta que salte del bucle """while not(eoln(archi)) do""" cuanod llega al final del renglon, entocnes volveria al principio, cargaria el siguiente renglon, me leeria los 255 caracteres, me extraeria todas las palabas con a, y si es mayor a 255 caracteres pasaria a este parte en que leeria caracter por caracter y me extraeria la palabra que tengan las a
bueno espero que me entiendan, quiero saber si se puede acer asi, que primero me cargue la cadena STRING y despues me vaya cargando CHAR caracter por caracter el resto de la linea o renglon del archivo
desde ya muchas gracias a todos los que me puedan responder, gracias amigos
vane
Valora esta pregunta


0