WriteFile

maevasa Messages postés 100 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 3 août 2004 - 2 juil. 2004 à 13:44
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 - 5 juil. 2004 à 17:33
Voilà ce bout de code n'écrit rien dans le fichier fd qui est pourtant bien crée
quelqu'un a une idée du pourquoi?

char file2[1024];
int i,clehex[4];
int j=0;
char buffer [MAX_PATH];

HANDLE fad;
HANDLE fd;
DWORD dwRead, dwWritten;
char sBuffer[2];

for (i=0;;i++)
{
if (i>3) i=0;
ReadFile(fad, sBuffer, i, &dwRead, 0); //lit le fichier au iéme caractère
sBuffer[1] = 0;
//si détection de la fin du fichier on arrête le décodage!
if (sBuffer[0] == EOF) break;
else
WriteFile(fd, sBuffer-clehex[i], i,&dwWritten, 0); //lit le fichier au iéme caractère

}

//fermeture des deux fichiers
CloseHandle(fad);
CloseHandle(fd);

3 réponses

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
2 juil. 2004 à 16:35
Il faut ouvrir le fichier avant d'écrire dedans. D'ailleurs le compilateur doit bien te le dire: la variable fad est utilisée sans avoir été initialisée. Tu dois le faire en appelant la fonction CreateFile (utilise cette fonction que ce soit pour créer ou ouvrir un fichier existant).
0
maevasa Messages postés 100 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 3 août 2004
5 juil. 2004 à 08:19
non le fichier est ouvert mais avant et ça faisait beaucoup de code pour rien !
mais je peux tout mettre si tu veux.
merci de ton aide
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
5 juil. 2004 à 17:33
Est ce que tu l'as crée aec GENERIC_WRITE?
N'oublie pas non plus de regarder que le fichier a pu être ouvert (!= INVALID_HANDLE_VALUE)
0
Rejoignez-nous