Actualmente me encuentro estudiando el lenguaje de programación C y me tocó hacer un trabajo práctico. Mi duda es siguiente, yo cree un indice que permite ubicar los datos dentro otro archivo pero cuando quiero leer los datos del indice (indice.txt) y pasarlo a una matriz digital me borra la mitad del primer numero.
Código:
FILE*Pub_Indice;
Pub_Indice = fopen("Indice.txt", "r");
int tamj=20;
int tam=20;
P_j=0;
while(P_j<=tamj){
for(P_i=0; P_i<=tam; P_i++){
Lector = fgetc(Pub_Indice);
if(Lector=='\n'){
P_i=0;
P_j++;
}
else if (Lector==' '){
P_i=10;
}
else
MatrizDigital[P_i][P_j]=Lector;
}
}
// A partir de aca imprime la matriz
for(j=0;j<=tamj;j++){
for(i=0;i<=tam;i++){
printf("%c", MatrizDigital[i][j]);
}
printf("\n");
}
Les dejo los datos del Indice.txt
Citar
41 0
7376 146
4596 288
140 429
4313 574
971 717
8957 867
1931 1007
5822 1165
4681 1326
1414 1469
9813 1614
2289 1756
475 1897
4182 2042
1026 2195
3329 2342
3449 2478
7376 146
4596 288
140 429
4313 574
971 717
8957 867
1931 1007
5822 1165
4681 1326
1414 1469
9813 1614
2289 1756
475 1897
4182 2042
1026 2195
3329 2342
3449 2478
Me falta en 0 en el 41, de la primera linea de la imagen. Y no sé porque, es más, cuando imprimo la matriz en un archivo diferente me aparecen un montón de caracteres poco usuales.
Estoy seguro que el error o lo que falta es un boludez, pero me gustaría corregirlo. Desde ya muchísimas gracias a cualquiera que conteste