Octets squatteur [Résolu]

Signaler
Messages postés
80
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
30 mars 2007
-
Messages postés
80
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
30 mars 2007
-
Bonjour a tous !
Un phénomène étrange se produit dans mon programme... Je suis censé prendre des données provenant d'un réseau que je place octet par octet dans un tableau de char. Je souhaite ensuite afficher ces octets dans un fichier afin de reconstituer une video dont le format n'est pas important.
Mais voila, lorsque j'ouvre avec un éditeur hexadecimal mon fichier, il y a la valeur héxa 0D qui se rajoute devant chaque valeur 0A. Ma video est alors illisible ! C'est un probleme du code ASCII je suppose car 0A et 0D code a peu près les memes choses je crois...
Quelqu'un aurait il une idée pour regler ce problème??
Pour l'affichage de mes octets dans mon fichier, j'utilise la fonction C fprintf("%c"...). J'ai également essayé avec fstream en C++ mais le resultat est identique...

A L'AIDE !!!!!!

4 réponses

Messages postés
92
Date d'inscription
jeudi 21 avril 2005
Statut
Membre
Dernière intervention
16 janvier 2007

ou alors tu garde ta methode fopen mais tu remplace ton fprintf (qui fait des ajouts pour des fichiers textes) par un
char * fluxVideo = new char[tailleFlux] // ton tableau, image de ton fichier
fwrite(fluxVideo, tailleFlux, 1, pointeurFichier);


Jah bless my code
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Essais avec l'API. C'est WriteFile. Mais avant il faut ouvrir le fichier CreateFile
Exemple

HANDLE file;
DWORD ByteWrite;
char c;

file = CreateFile("fichier.txt", GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);

/* tu met une valeur à ton char entre temp */

WriteFile(file, &c, 1, &ByteWrite, NULL);

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Ah et n'oublie pas de fermer le HANDLE quand tu a fini avec le fichier avec CloseHandle(file)

___________________________________________
Les plus grands esprits trouvent toujours une solution
Messages postés
80
Date d'inscription
vendredi 4 février 2005
Statut
Membre
Dernière intervention
30 mars 2007

Merci beacoup pour votre aide.. je viens de trouver aussi une autre methode qui complète ce que vous venez de me dire. lors de la declaration fstream en c++ il suffit de preciser ofstream f("toto.avi",ios::binary).
A priori ca marche aussi car j'ai recupéré ma video.

Merci encore