Ecrire dans un fichier en C (pas C++, non !)

Ecrire dans un fichier en C (pas C++, non !) - Programmation

Marsh Posté le 11-07-2001 à 11:30:31    

Bon, voila, g une appli 16bits écrite en C que je doit modifier de manière à ce qu'elle ajoute qqch dans un fichier log.
Le pb c que je me rappel plus vraiement comment on gère les fichiers en C tout court...
je sais qu'il y a :
 
FILE* fe;
fe = fopen("c:\nomFic.ext" );
positionner le pointeur à la fin du fichier, je sais pas faire
après y a un fprintf y me semble...
et puis fclose(fe); à la fin, non ?
 
enfin, bref, c pas clair. Si un expert veux bien m'aider, ça serai sympa (ou même un non expert qui connais ça, j'm'en contenterai :D)...

Reply

Marsh Posté le 11-07-2001 à 11:30:31   

Reply

Marsh Posté le 11-07-2001 à 11:46:51    

essaie ca :
FILE* fe;  
fe = fopen("c:\nomFic.ext","a" );  
 
le a, ca veut dire append, ca t'ouvre le fichier pour l'ecriture et te place a la fin.
Tu pourras ensuite faire une ecriture et ca le rajoutera a la fin du fichier.

Reply

Marsh Posté le 11-07-2001 à 11:49:36    

ouais, mais si j'met ça, je peux plus préciser si je veux l'ouvrir en lecture ou en écriture, vu que c un char le paramètre !?

Reply

Marsh Posté le 11-07-2001 à 11:50:27    

ha, désolé, g rien dit, je vien de mieux lire la doc...merci, j'vais déja voir ça !

Reply

Marsh Posté le 11-07-2001 à 11:51:15    

il faudrait savoir ce que tu veux faire!
Si tu veux y ajouter quelque chose a ton fichier, c'est en ecriture que tu dois l'ouvrir!

Reply

Marsh Posté le 11-07-2001 à 12:12:35    

Bah je sais bien...
c d'ailleur ça que je veux, mais le pb c'était que normalment, dans le fopen, on met, à la place du "a" un "w" pour écriture et un "r" pour lecture, je m'demandais comment faire !
maintenant je sais, g trouvé tt seul, comme un grand.
Pour info, on met 'a' pour le append en écriture, et 'a+' pour être en lecture.

Reply

Marsh Posté le 11-07-2001 à 12:33:36    

sinon tu as la fonction fseek qui te permet de te déplacer à l'intérieur du fichier.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed