Ecrire des caractères dans un fichier texte

Résolu
dayvid75014 Messages postés 96 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 25 avril 2008 - 1 avril 2008 à 12:39
dayvid75014 Messages postés 96 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 25 avril 2008 - 1 avril 2008 à 15:54
Bonjour,

Voici mon problème : je souhaiterais écrire des caractères dans un fichier texte.

Je déclare et initialise donc un pointeur de sortie dans mon main (il n'est utlisé que dans mon main), tel que :

FILE *op_file=NULL;

Puis j'ouvre le fameux fichier texte vierge (et qui reste vierge ce qui me rend dinguo) ; au préalable je l'ai enregistré dans la racine C (au même endroit qu'une vidéo que j'utilise dans mon programme et qui s'ouvre très bien)

op_file = fopen("decode_MPEG_header.txt", "wb");

Puis je fais la chose suivante :

fprintf(op_file,"%c\n",TS_raw_header[0]); 

J'ai essayé avec la fonction "fwrite", mais hélas sans succès. En effet mon programme s'exécute : j'ai les bonnes valeurs qui s'affichent dans la console. Il se termine correctement. La console se ferme...mais lorsque je vais chercher mon fichier texte pour l'ouvrir, il est resté vierge !

Quelqu'un aurait une idée pour me sortir de ce pétrin? Car ça va faire une bonne semaine que je reste bloqué sur ce point.

Bonne journée à tous ceux qui passeront par là ;-)      

11 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
1 avril 2008 à 15:01
Attention que ton fichier n'a pas de chemin d'accès, sa création et/ou ouverture sera dépendante de ta currentDirectory.

ciao...
BruNews, MVP VC++
3
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
1 avril 2008 à 13:09
fopen("decode_MPEG_header.txt", "w");
et penses au "fclose".

TS_raw_header contient quoi ?
Tu as vérifié la validité du pointeur op_file ?
0
Pistol_Pete Messages postés 1054 Date d'inscription samedi 2 octobre 2004 Statut Membre Dernière intervention 9 juillet 2013 7
1 avril 2008 à 13:10
Salut

As tu bien mis un fclose(op_file) avant de quitter ton programme?
 
A+
Mon site internet : http://pistol.petesampras.free.fr
0
dayvid75014 Messages postés 96 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 25 avril 2008
1 avril 2008 à 14:16
j'ai bien mis le fclose a la fin du main.
j'avais déjà essayé avec "w" sans succès

et voici la déclaration de TS_raw_header :
unsigned char TS_raw_header[10];

Je ne comprends pas et j'ai pourtant l'impression de bien faire ...
0

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

Posez votre question
dayvid75014 Messages postés 96 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 25 avril 2008
1 avril 2008 à 14:22
J'oubliais, j'ai vérifié la validité du pointeur op_file en faisant :

     if(op_file==NULL)
 {                 
        printf("Erreur : Impossible d'ouvrir le fichier spécifié \n");      //test d'ouverture du fichier
        exit(0);
 }
0
dayvid75014 Messages postés 96 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 25 avril 2008
1 avril 2008 à 15:14
En francais ça donnerait s'il te plait ?
0
dayvid75014 Messages postés 96 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 25 avril 2008
1 avril 2008 à 15:15
cad qu'il faut que je mette C:\\...etc ???
0
dayvid75014 Messages postés 96 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 25 avril 2008
1 avril 2008 à 15:18
op_file = fopen("C:\decode_MPEG_header.txt", "w");

ça ne marche toujours pas ...
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
1 avril 2008 à 15:28
op_file = fopen("C:\\decode_MPEG_header.txt", "w");
et avec ça ?

ciao...
BruNews, MVP VC++
0
dayvid75014 Messages postés 96 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 25 avril 2008
1 avril 2008 à 15:47
ça marche mais ça ne m'affiche que des "G"... alors que ça devrait m'afficher des 0x47... probablement un problème de "%...", nan ? problème de type quoi..
0
dayvid75014 Messages postés 96 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 25 avril 2008
1 avril 2008 à 15:54
C'est bon, ça marche impec' !!!

avec  : fprintf(op_file,"%x\n",TS_raw_header[0]);

MERCI BRUNO et à tous les autres!!!

Bonne journée à tous!

et encore merci pour votre éternel soutien (Luthor et Vincent ;-) )
Promis, quand je serai fort, je vous aiderai ;-)

++
0
Rejoignez-nous