A quoi sa correspond ?

Résolu
Ilsundal Messages postés 79 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 1 mars 2011 - 18 nov. 2006 à 19:49
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 - 18 nov. 2006 à 20:43
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

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
18 nov. 2006 à 20:25
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))
// ...
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
18 nov. 2006 à 20:39
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++ (@++)<!--
3
Ilsundal Messages postés 79 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 1 mars 2011
18 nov. 2006 à 20:29
Merci pour ta reponse.
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
18 nov. 2006 à 20:43
Oups
remplacer "c:\\test.txt" dans fopen par "IRC.txt"

C++ (@++)<!--
0
Rejoignez-nous