Documentaciónarchivo_a_vectorstr(nombre)
Nombre
archivo_a_vectorstr - Lee un archivo de texto y copia cada linea a un vector de STRING.
Sinopsis
ret = archivos.archivo_a_vectorstr(nombre)
Descripcion
Lee un archivo de texto y copia cada linea a un vector de STRING, devolviendo tambien la cantidad de lineas leidas.
Que hace:
Abre el archivo nombre en modo lectura (r), lo recorre hasta FIN_ARCHIVO(f) y por cada linea:
- lee la linea con
LEER_LINEA(f) - la guarda directamente en
vector[i] - incrementa
i
Al final cierra el archivo y retorna una TABLA con:
cant: cantidad total de lineas leidaslista: el vector de strings con el contenido
Para que puede usarse:
- Cargar un archivo como lista de lineas para procesarlo despues.
- Mostrar el contenido de un archivo linea por linea.
- Preparar un vector para busquedas o transformaciones por linea.
Comportamiento
- Abre el archivo en lectura.
- Recorre hasta
FIN_ARCHIVO(). - Copia cada linea tal como fue leida al vector destino.
- Retorna
{cant = ..., lista = ...}.
Funciones API relacionadas
archivos.archivo_a_vector()archivos.archivo_a_str()archivos.buscar_en_archivo()
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| nombre | STRING | Ruta o nombre del archivo a leer. |
Valor de retorno
TABLA - {cant = <NUMERICO>, lista = <VECTOR STRING>}.
Ejemplo
ejemplo.blox
INCLUIR "archivos.api"
FUNCION PRINCIPAL
INICIO
STRING file
NUMERICO cant, i
TABLA ret
file = "texto1.txt"
// ret es una tabla con 2 campos
// <cant> cantidad de lineas leidas del archivo y copiadas
// <lista> un vectorstr donde se copiaron las lineas
ret = archivos.archivo_a_vectorstr(file)
cant = ret[1].cant
STRING lista[cant]
lista = ret[1].lista
//DEPURAR(ret[1].lista)
IMPRIMIR("\nSe leyeron ", ret[1].cant:0, "lineas.\n")
// Imprime todos los elementos del vector de string <lista>
// Es 1-based
//
i=1
MIENTRAS (i <= cant) HACER
IMPRIMIR ("\n", i:0, "\t", lista[i])
//IMPRIMIR (lista[i])
i = i + 1
FIN_MIENTRAS
IMPRIMIR("\n")
FINAL