OVH Cloud OVH Cloud

Du C au C++...

13 réponses
Avatar
bruckner.olivier
Bonsoir !

Je convertie en ce moment du code C en C++ (tout du moins j'essais).

Je rencontre un probleme et je suis sur que ce n'es pas très compliqué a
comprendre.

voici le code en C:

FILE *f;
int c;
unsigned char *buffer;
char checkname[MAX_OSPATH];

f = fopen (checkname, "wb");
fwrite (buffer, 1, c, f);
fclose (f);


je désire convertir ceci en C++, voici ce que je pense etre correct:

ofstream file_out;
char checkname[MAX_OSPATH];
int c;
unsigned char *buffer;


file_out.open (checkname, ios::out | ios::binary);
fwrite (buffer, 1, c, f); // je ne sais pas comment remplacer ceci
file_out.close();


le fwrite me dérange donc ici, éxiste t'il un équivalent en C++ svp ?

Merci de vos réponses.

3 réponses

1 2
Avatar
drkm
writes:

Dans la pratique, la plupart des codecvt< char, char > ont un
transcodage dégénéré. C'est donc que l'erreur peut passer inaperçue
pendant longtemps.


Que désignes-tu, par transcodage « dégénéré » ?

--drkm

Avatar
Jean-Marc Bourguet
drkm writes:

writes:

Dans la pratique, la plupart des codecvt< char, char >
ont un transcodage dégénéré. C'est donc que l'erreur
peut passer inaperçue pendant longtemps.


Que désignes-tu, par transcodage « dégénéré » ?


La fonction identité.

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org


Avatar
James Kanze
drkm writes:

|> writes:

|> > Dans la pratique, la plupart des codecvt< char, char > ont un
|> > transcodage dégénéré. C'est donc que l'erreur peut
|> > passer inaperçue pendant longtemps.

|> Que désignes-tu, par transcodage « dégénéré » ?

Que même s'il ne me plaît qu'à moitié, je n'ai pas trouvé
mieux pour traduire « degenerate code translation ». En gros,
ça veut dire qu'il ne fait rien.

--
James Kanze
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France +33 (0)1 30 23 00 34
1 2