Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Philips en 17 Mayo 2019, 02:48 am



Título: Pasar archivo de texto a un arreglo bidimensional en C
Publicado por: Philips en 17 Mayo 2019, 02:48 am
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!


Título: Re: Pasar archivo de texto a un arreglo bidimensional en C
Publicado por: K-YreX en 17 Mayo 2019, 02:57 am
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:
Código
  1. 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()>.