Estas definiendo mal el arreglo, el arreglo debe ser definido de la siguiente manera, primero, el numero de filas que contendra el arreglo, y segundo, la longitud de la cadena mas larga de tu archivo. Si no lo haces asi, lo que pasa es que en el mejor de los casos, sobreescribes parte de las cadenas siguientes (que es lo que creo que te esta sucediendo) y en el peor de los casos, corrupcion de memoria y de codigo, que te puede llevar a un error de segment fault, fallo de segmento.
Suponiendo que tu archivo tiene 50 filas, y que la cadena mas larga es de 100 caracteres, la definicion del arreglo deberia ser:
Saludos