Teste si fichier .txt vide en language c sous dev windows

Fermé
lmij Messages postés 9 Date d'inscription mercredi 3 juin 2015 Statut Membre Dernière intervention 22 avril 2017 - Modifié le 18 avril 2017 à 23:51
einstein66 Messages postés 11 Date d'inscription lundi 24 avril 2017 Statut Membre Dernière intervention 20 septembre 2017 - 25 avril 2017 à 13:12
Salut j aimerais savoir comment tester si un fichier .txt est vide ou non svp en language C avec dev sous windows 10. Merci d avance
A voir également:

2 réponses

[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
20 avril 2017 à 10:09
Salut lmij,

Si par vide, tu veux dire qu'il n'y a aucun caractère dedans, tu peux utiliser une des solutions décrites ici :

https://stackoverflow.com/questions/13566082/how-to-check-if-a-file-has-content-or-not-using-c

Dal
0
einstein66 Messages postés 11 Date d'inscription lundi 24 avril 2017 Statut Membre Dernière intervention 20 septembre 2017
Modifié le 24 avril 2017 à 18:52
Voici une proposition de solution :

#include <stdio.h>
#include <stdlib.h>

int main()
{
FILE* fichier=NULL;
int c=0,i=0;

fichier=fopen("essai.txt","a+");
rewind(fichier);
do
{
c=fgetc(fichier);
i++;
}while(c!=EOF);

if(i==1)
{
printf("Fichier vide");
}
else
{
printf("Le fichier contient des données");
}
fclose(fichier);
return 0;
}
0
[Dal] Messages postés 6194 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 11 octobre 2024 1 092
Modifié le 24 avril 2017 à 19:29
Salut einstein66,

Pour plus de lisibilité, modifie ta réponse, pour poster ton code entre balises de code :

<code c>

code ici

</code>
0
einstein66 Messages postés 11 Date d'inscription lundi 24 avril 2017 Statut Membre Dernière intervention 20 septembre 2017
25 avril 2017 à 13:12
#include <stdio.h> 
#include <stdlib.h> 

int main() 
{ 
FILE* fichier=NULL; 
int c=0,i=0; 

fichier=fopen("essai.txt","a+"); 
rewind(fichier); 
do 
{ 
c=fgetc(fichier); 
i++; 
}while(c!=EOF); 

if(i==1) 
{ 
printf("Fichier vide"); 
} 
else 
{ 
printf("Le fichier contient des données"); 
} 
fclose(fichier); 
return 0; 
}
0