Basicamente.
1) Leo desde un archivo cierta información y la guardo en un arreglo de char.
2) Lo imprimo en pantalla (Hasta aca todo joya)
3) Cuando llamo a la funcion auxiliares lo que hace es abrir otro archivo y guardar esa informacion en otro arreglo de char.
4) No se porque cuando llamo a esta ultima funcion (auxiliares), al hacer un printf del contenido en la posicion 0 del primer arreglo, se borra.
Adjunto informacion de los 2 archivos al final
Espero que alguien pueda ayudarme porque no encuentro el error.
Código
#include <stdio.h> #include <stdlib.h> #define F 10 #define C 50 void lectura(char arreglo[F][C]); void imprimir(char arreglo[F][C]); void auxiliares(char arreglo[2][C]); int main() { char arreglo[F][C]; char aux[2][C]; lectura(arreglo); imprimir(arreglo); auxiliares(aux); printf("El valor 0 del arreglo es: %s\n",arreglo[0]); ///Aca el mismo contenido ya no lo imprime, aparece vacio printf("El valor 0 del arreglo es: %s",arreglo[1]); ///Aca los demas elementos si los tiene, pero no el de la posicion 0 return 0; } void lectura(char arreglo[F][C]) { int i=0,j=0,r; char letra; FILE*arch=NULL; while(letra!=EOF && i<F) { while(letra!='\n' && j<C) { arreglo[i][j]=letra; j++; } arreglo[i][j]='\0'; j=0; i++; } arreglo[i][0]=0; } void imprimir(char arreglo[F][C]) { int i=0; while(arreglo[i][0]!=0) { i++; } } void auxiliares(char aux[2][C]) { int i=0,j=0; char letra; FILE*arch=NULL; while(letra!=EOF) { while(letra!='\n' && j<C) { aux[i][j]=letra; j++; } aux[i][j]='\0'; i++; j=0; } aux[i][j]='\0'; }
Archivo "nomina.txt" --->Contenido:
Juan Perez
Marta Saldiva
Juana Dorrego
Juan Perez
Susana Rodriguez
Pilar Santoro
Juan Perez
Archivo "actualizaciones.txt" --->Contenido:
Juan Perez
Graciela Arpe