'\n'

SaXo360 Messages postés 31 Date d'inscription mardi 16 mars 2004 Statut Membre Dernière intervention 21 mars 2007 - 15 avril 2006 à 12:26
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 15 avril 2006 à 23:31
Bonjour,

Dans tout mon programme j'utilise ReadFile et WriteFile et je voudrais ecrire un retour à la ligne '\n'.
Le problème étant qu'avec WriteFile, on peut ecrire une chaine de caractere et non un caractere :/

j'ai éssayer de finté avec ca :

char *lettre=new char [2];
lettre[0]='\n';
lettre[1]='\0';

puis j'écris avec FileWrite mais ca ne marche pas :/

Comment faire pour ecrire un retour a la ligne avec FileWrite svp ?

9 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 avril 2006 à 12:49
WriteFile écrit un NOMBRE D'OCTETS depuis un buffer, à toi de mettre ce que tu veux dans le buffer.

DWORD d;
BYTE buf[4];

buf[0] = 'a';
buf[1] = 'b';
buf[2] = '\r';
buf[3] = '\n';

WriteFile(hfl, buf, 4, &d, 0);

ciao...
BruNews, MVP VC++
0
SaXo360 Messages postés 31 Date d'inscription mardi 16 mars 2004 Statut Membre Dernière intervention 21 mars 2007
15 avril 2006 à 12:53
Petite correction:
Pris dans mon élan, j'ai écris au début WriteFile au lieu de FileWrite. désolé.
Ensuite dans FileWrite, il y a 3 arguments : desc, buff, taille buff
Dernier point, je ne veux ecrire que mon retour a la ligne.
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 avril 2006 à 12:58
Le principe doit être le même avec ta surcouche, vois que tu pourrais utiliser WriteFile directement vu que ta lib le fera.

ciao...
BruNews, MVP VC++
0
SaXo360 Messages postés 31 Date d'inscription mardi 16 mars 2004 Statut Membre Dernière intervention 21 mars 2007
15 avril 2006 à 13:02
Non car avec WriteFile, les types des arguments ne sont pas les mêmes.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
15 avril 2006 à 16:23
Mais c'est le même principe:
WriteFile(filehandle, buffer, strlen(buffer), &bytewrited, NULL);

On suppose que filehandle est un HANDLE
buffer est un char * ou char[]
bytewrited est un DWORD.


La seule chose qui pourrais te causer problème est CreateFile mais pour ça ya MSDN
___________________________________________
Les plus grands esprits trouvent toujours une solution
0
SaXo360 Messages postés 31 Date d'inscription mardi 16 mars 2004 Statut Membre Dernière intervention 21 mars 2007
15 avril 2006 à 16:26
Seulement le pb c'est que mon descripteur c'est un entier.

Bon personne ne sait avec FileWrite ?
0
cs_max12 Messages postés 1491 Date d'inscription dimanche 19 novembre 2000 Statut Modérateur Dernière intervention 7 juillet 2014
15 avril 2006 à 21:19
Si par descripteur tu entends le numéro, utilise simplement CreateFile pour le HANDLE et WriteFile c'est pas compliqué ! Ensuite tu lui passe ce que tu veux, entier, struct, chaine etc ...

http://vbaddons.free.fr
Cégep Lévis
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
15 avril 2006 à 23:22
C'est nécessaire d'utiliser CreateFile pour WriteFile sinon comment avoir le HANDLE du fichier. Ensuite j'ai une question pour SaXo360. C'est quoi FileWrite. Je veut dire, tu trouve ça ou parceque j'ai jamais vue cette fonction la avant.
___________________________________________
Les plus grands esprits trouvent toujours une solution
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
15 avril 2006 à 23:31
Doit être une borlanderie.

ciao...
BruNews, MVP VC++
0
Rejoignez-nous