Pasar archivo de texto a un arreglo bidimensional en C

Iniciado por Philips, 17 Mayo 2019, 02:48 AM

0 Miembros y 1 Visitante están viendo este tema.

Philips

Hola, estoy haciendo un programa en el lenguaje C y necesito pasar un archivo de texto a un arreglo bidimensional, se los agradecería mucho si me pueden dar una idea de como hacerlo.
de antemano muchas gracias!

K-YreX

Una cadena de texto <char*/char[]> es un arreglo unidimensional por lo que hacer un arreglo de cadenas de texto es un arreglo bidimensional. Tienes que imaginarlo como una matriz donde cada cadena se escribe en una fila y cada caracter en una columna.

Dicho esto para leer palabras de un fichero tienes la función <fgets()> en C. Esta función tiene la siguiente forma:

char *fgets(char *variable, int max_size, FILE *fichero)

El valor de retorno no importa mucho ya que retorna lo mismo que guarda en <variable>.

Donde <variable> es el arreglo en el que vas a guardar lo que lees, <max_size> la cantidad máxima de caracteres que va a leer la función y <fichero> pues el fichero de donde lo va a leer. La función lee hasta que encuentra un salto de línea o hasta llegar al máximo indicado (lo que antes ocurra). Con el segundo parámetro te aseguras de que no tienes problemas de memoria. Si usas un arreglo estático, usa el tamaño del arreglo como segundo parámetro de la función <fgets()>.
Código (cpp) [Seleccionar]

cout << "Todos tenemos un defecto, un error en nuestro código" << endl;