1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| #include <stdio.h>
#include <stdlib.h>
int main()
{
char buffer[500]; // buffer assez grand pour 500
int lecture;
int j;
int i;
FILE *fichier=NULL;
char nm_fic[10];
size_t taille=0;
char *tab=NULL; // pour remplir ma chaine buffer dans un tableau
scanf("%s",nm_fic);
fichier=fopen(nm_fic,"rb");
if (fichier!= NULL) // verifier sir le fichier existe
{
printf("OUverture fichier.\n");
while (!feof(fichier)) // tant qu'on a pas atteint la fin du fichier
{
lecture=fread(buffer,sizeof(char),500,fichier); // On stoke la lecture du fread() dans la variable lecture
if (lecture != NULL) // On verifie si la lecture a reussie
{
j=sizeof(char); // On stoke dans j la taille de char (je ne comprends pas trop parcontre)
for(i=0;i<j;i++) // on parcours sans doute notre chaine buffer
{
if (buffer[i]) // On verifie que notre buffer existe si oui
{
printf("%s\n",buffer); // on affiche le buffer en incrementant la taille
++taille;
}
if (buffer[i]>j) // On verifie que la chaine du buffer ne soit pas plus grande que j
{
printf("Plus de 500 caracteres.\n");
break;
}
}
}
if (taille==0) // ON verifie que la taille ne soit pas pas = à 0
{
printf("0 caractere.\n");
}
else
{
tab=malloc(taille*j); // allocation de memoire , multiplie la variable taille incrmenté
if (tab!=NULL)
{
tab=buffer; // On remplie notre chaine buffer dans notre tableau
printf("Taille:%d\n",taille);
printf("%s",*tab);
}
}
}
system("pause");
return 0;
} |