écriture dans un fichier

écriture dans un fichier - C - Programmation

Marsh Posté le 02-07-2004 à 17:43:15    

Bonjour,
Je voudrais rajouter une ligne dans un fichier csv au tout début de ce fichier.
J'ai utilisé cette méthode :
Qd je remplis le fichier la première fois je laisse une ligne de libre avec :

Code :
  1. fprintf(extracted_data, "%c", '\n');


Puis pour rajouter ma ligne je fais :

Code :
  1. extracted_data = fopen("C:/DATA/PM Reader/extracted_data.csv", "a" );
  2.         fprintf(extracted_data, "%d%c%d", file_nb, ';', msg_acc_id);
  3.     fclose(extracted_data);


Malheureusement ma méthode ne marche pas ...
Help me please ...

Reply

Marsh Posté le 02-07-2004 à 17:43:15   

Reply

Marsh Posté le 02-07-2004 à 18:13:13    

Citation :


fprintf(extracted_data, "%c", '\n');


 
Là tu écrit un caractère. Que ce soit un '\n' ou  un 'A' ça ne change rien à ton fichier, tu ne réserves qu'un caractère...
 
Si tu sais à l'avance la taille de la ligne à écrire tu peux réserver autant de caractères (par exemple des espaces).
Après ouverture du fichier, il faut que tu te places au début de celui-ci (voir fseek) et tu écris.
 
Si tu ne sais vraiment pas la taille à l'avance, il faut écrire ta nouvelle ligne dans un nouveau fichier, puis copier le reste du fichier à modifier à la suite. Pas d'autres solution  [:spamafote]


Message édité par pascal_ le 02-07-2004 à 18:13:26
Reply

Sujets relatifs:

Leave a Replay

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