Octets squatteur

Résolu
gdpasmini Messages postés 80 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 30 mars 2007 - 16 mars 2006 à 15:28
gdpasmini Messages postés 80 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 30 mars 2007 - 16 mars 2006 à 16:09
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

Kangourou_Nomade Messages postés 92 Date d'inscription jeudi 21 avril 2005 Statut Membre Dernière intervention 16 janvier 2007
16 mars 2006 à 15:57
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
3
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
16 mars 2006 à 15:46
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
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
16 mars 2006 à 15:47
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
0
gdpasmini Messages postés 80 Date d'inscription vendredi 4 février 2005 Statut Membre Dernière intervention 30 mars 2007
16 mars 2006 à 16:09
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
0
Rejoignez-nous