A quoi sa correspond ? [Résolu]

Signaler
Messages postés
79
Date d'inscription
lundi 23 décembre 2002
Statut
Membre
Dernière intervention
1 mars 2011
-
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
-
Bonjour, alors voici mon petit probleme, j'arrive pas a trouver a quoi correspond le "!" qui se trouve juste avant foef(fichier) dans la condition du while. Qui peut m'aider a comprendre a quoi il correspond, sachant que sans lui, le programme ne fonctionne pas...

----------- LE CODE -----------
if (FILE* fichier = fopen("IRC.txt", "r"))
{
while(!feof(fichier) != NULL)
{
cout<<(char)fgetc(fichier);
}
fclose(fichier);
cout<<endl<<endl<<"Fin du fichier atteinte"<<endl;
}

4 réponses

Messages postés
2333
Date d'inscription
samedi 28 février 2004
Statut
Membre
Dernière intervention
26 juillet 2013
36
Salut:

Commençons tout d'abord par corriger ton code:



FILE* fichier;




if ((fichier = fopen("IRC.txt", "r"))
{
    while(!feof(fichier))
    {      
        cout<<(char)fgetc(fichier);
    }
    fclose(fichier);

    cout<<"Fin du fichier
atteinte"<<endl;
}



Comme le vrai en C c'est toute valeur non nulle, le faux est toute valeur nulle :

Notre condition :
while (feof (fichier) != 0)
// ...

Peut être écrite autrement
while (!feof (fichier))
// ...
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Lecture du fichier lettre par lettre ????

Mieu vaut lire tout d'un coup et afficher par la suite:

char * buffer;
FILE* fichier;
int len;

if((fichier = fopen("c:\\test.txt", "r")))
{   
    len = _lseek(fichier->_file, 0, SEEK_END);
    _lseek(fichier->_file, 0, SEEK_SET);

    buffer = (char*)malloc(len+1);

    fread(buffer, 1, len, fichier);
    buffer[len] = 0;

    printf("%s\n", buffer);

    fclose(fichier);
    printf("Fin du fichier atteinte\n");
}

Ne pas oublier #include pour _lseek
C++ (@++)<!--
Messages postés
79
Date d'inscription
lundi 23 décembre 2002
Statut
Membre
Dernière intervention
1 mars 2011

Merci pour ta reponse.
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Oups
remplacer "c:\\test.txt" dans fopen par "IRC.txt"

C++ (@++)<!--