Bien le bonjour ami(e)s programmeurs et programmeuzes,
Je débute avec les API Windows et j'ai une classe à faire pour le manipulation de fichier (Creer, ouvrir, lire, écrire ...).
Mais je bloque pour écrire à la fin de mon fichier, en fait lorsque je l'ouvre il faudrait que tout ce que j'ecris ensuite se trouve à la fin du fichier. Voici le code de ma méthode(dsl je sais pas si il ya des balises de codes) :
int TFichier::EcrireFichier(char* octets)
{
int wr ;
DWORD nombreOctetTraites;
octets = StrCat(octets,"\r\n") ; // Pour passer une ligne à chaque appel
fregolo52 >
forpen, fread, ... n'a rien de "couche basse".
Quand tu compiles pour Windows, c'est par force traduit par la libc en CreateFile, ReadFile,... A moins d'utiliser l'API native, l'API user mode est l'unique moyen (et de loin le plus rapide) de communiquer avec les périphériques.
bonjour,
le but si g bien compris est d'écrire à la fin d'un fichier. donc déja commence par créer un autre fichier tempo.
fais un parcours de ton fichier en cours et écris ce que tu récupére dans le fichier tempo. normalement on
a while (!eof(file)) qui permet d'aller jusqu'a la fin . aprés tu rajoute ce que tu veux au fichier tempo. supprime le fichier source et renome le fichier tempo avec le nom du fichier source .
boncourage
Fregolo52 : SetEndOfFile j'ai essayé au début avant de comprendre que ça servait initialisée la fin du fichier (d'apres ma trad' perso XD), moi aussi je préfère utilise fstream, mais la c'est pour un cours sur les API ^^, merci quand même.
Neone : c'est ce que j'avais pensé faire, mais pour cela il faut que je rédige et utilise une méthode LireFichier, or mon prof nous à dit qu'il y avait une fonction pour ça ^^. Je vais attendre d'autres réponses mais si je ne trouve pas c'est cette solution que j'utiliserais ^^ merci.
Sinon il te reste à faire un ReadFile et de concaténer le résultat avec ton paramètre et faire un WriteFile. C'est bourin, mais ça doit être faisable si le fichier est de taille raisonnable.
Mon prof nous fait faire ces exos sur les fichiers dans l'optique d'appliquer ca aux périphériques, mais je pense qu'il compte utiliser CreateFile pour cela.