Comment lire tous les caractères du fichier et le stocker dans un tableau 2D sans \ n?
Rehan Shakir
J'essaie de lire un fichier et de stocker chacun de ses caractères dans un tableau 2d (de taille 7 par 7) sans caractères spéciaux comme '\ n' et d'imprimer ce tableau 2d.
J'écris un code mais il ne stocke pas et n'imprime pas les derniers caractères de la ligne dans le tableau 2d.
#include<stdio.h>
#include<stdlib.h>
int main()
{
char ar[7][7],c;
int i,j;
FILE *fp;
fp=fopen("B11.txt","r");
if(fp==NULL)
printf("File not Found");
for(i=0; i<7; i++)
{
for(j=0; j<7; j++)
{
fscanf(fp,"%c",&ar[i][j]);
}
}
for(i=0; i<7; i++)
{
for(j=0; j<7; j++)
{
printf("%c",ar[i][j]);
}
}
fclose(fp);
}
Voici la sortie de mon code:
abtvelo
camerag
bhtollp
qeryvxq
appboyl
awerfgh
Mais le fichier contient,
abtvelo
camerag
bhtollp
qeryvxq
appboyl
awerfgh
comsats
Ici, le fichier contient également le mot «comsats», qui n'est pas imprimé. Pourquoi ce mot comsats n'est pas imprimé?
Kiran Biradar
for(i=0; i<7; i++)
{
for(j=0; j<7; j++)
{
fscanf(fp,"%c",&ar[i][j]);
}
}
ar[i][0]
aura \n
laissé de côté de la ligne précédente résumant pour 7 \n
ignorer ainsi la dernière ligne.
changer en
fscanf(fp," %c",&ar[i][j]);
ou
avoir getchar()
après la for
boucle intérieure .