begin process at 2012 02 11 04:40:01
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Fichier & Disque

 > 

Remplacer des donnees avec ofstream


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Remplacer des donnees avec ofstream

samedi 17 février 2007 à 20:52:24 | Remplacer des donnees avec ofstream

bioopovega

Bonjour,

J'ai un probleme avec ofstream, je voudrais modifier des données (en mode binaire), mais soit il me met les données à la fin du fichiers, soit il me l'ecrase. Pouvez vous m'eguiller?

Merci

bioopo
samedi 17 février 2007 à 21:03:28 | Re : Remplacer des donnees avec ofstream

BruNews

Administrateur CodeS-SourceS

Ta question est en rubrique Windows, faut-il la déplacer ???

Parce que si c'est bien pour Windows, ces histoires de flux n'ont rien à y faire.
SetFilePointer
ReadFile
WriteFile

ciao...
BruNews, MVP VC++

dimanche 18 février 2007 à 00:49:32 | Re : Remplacer des donnees avec ofstream

bioopovega

bonjour,

Je l'ai mis dans cette rubrique car c'est la seule qui parlait de fichier, mais si ce n'est pas la bonne, déplacez la.

merci

bioopo

dimanche 18 février 2007 à 01:16:18 | Re : Remplacer des donnees avec ofstream

nightlord666

Membre Club
Et les flux de fichiers font partie de la librairie standard, compatible linux ET windows. Mais j'avoue que les catégories de ce forum sont mal organisées, par exemple pas de catégorie OpenGL dans Windows...

Sinon, pour remplacer des données, il faut que tu trouve les données à remplacer dans le fichier (en comparant le contenu du fichier à ce que tu dois remplacer), tu place le flux au début des données à déplacer, et tu met à la place ce que tu veut mettre.
Par contre, si les données de remplacement sont plus grandes que les données à remplacer (ou plus petites), il faut déplacer l'ensemble du fichier après ces données.

Il te reste plus qu'a programmer tout ça


Sachant qu'on peut toujours enlever une ligne à un programme, et que dans un programme il y a toujours un bug, un programme peut se résumer à une ligne avec un bug.
dimanche 18 février 2007 à 01:41:59 | Re : Remplacer des donnees avec ofstream

bioopovega

bonjour et merci pour ta reponse,

Ma logique de conception, c'est celle-ci, mais le probleme vient de ofstream, qui ne permet pas (ou je n'est pas trouve comment) de faire cela, du coup, je cree un fichier temporaire avec toutes les nouvelles données, je modifie mes données à modifié, puis je remplace l'ancien par le temporaire.

pour l'instant je n'est que cette solution.

bioopo

dimanche 18 février 2007 à 11:06:42 | Re : Remplacer des donnees avec ofstream

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
HANDLE hfl;
DWORD d;
BYTE buf[8];
// ON REMPLACE 4 OCTETS A L'OFFSET 8 DU FICHIER
hfl = CreateFile(szfname, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);
if(hfl == INVALID_HANDLE_VALUE) return;
SetFilePointer(hfl, 8, 0, FILE_BEGIN);
WriteFile(hfl, buf, 4, &d, 0);
CloseHandle(hfl);

Le "standard" est la réduction au plus petit dénominateur commun, une assurance de faire du plus que moyen pour tout le monde.
Décompilez l'exe avec du standard pour y voir les 8 Ko de daube standard dans laquelle le code se ballade avant de finir par force sur l'API.

ciao...
BruNews, MVP VC++


Cette discussion est classée dans : donnees, données, remplacer, ofstream


Répondre à ce message

Sujets en rapport avec ce message

Se mettre en attente de donnees sur un fichier en C [ par puxware ] Salut,Voila mon probleme :Au lieu de lire à intervalles régulier mon fichier, je voudrais (en C) me mettre en attente et déclencher la lecture lorsque recherche dans base de donnees [ par kazoumoulox ] bonjour a tous. je suis actuellement en stage et j'ai développé une appli de tracabilité avec connection ftp et un base de données sql sous easyphp. J winsock & ofstream [ par ptlanderson ] bonjour Je suis entrain de faire un projet qui permet d'enregistrer les données dans la base de données et d'envoyer un email avec les infos de ces d Affichage des données a partir d'une base de donnée [ par souma1705 ] Salut tous le monde Je travail sur visual studio 2008 c++ windows forms J'ai une base de donnée réalisé par Access Comment je peut remplir les champs copier des informations de la base de données vers un document world [ par fahdmustapha ] Salut, je suis entrain de développer une application avec c++ builder 6. j'ai une base de données qui contien plusieurs clients, chaque client est car alimenter une base de données sous Windows à partir d'une machine virtuelle Linux [ par khoulouch123 ] Bonjour, J'ai une question à laquelle je ne trouve pas de réponse sur le net. Est-ce que à partir d'une machine virtuelle Linux, je peux alimenter une PDA (wince 6.0)se connecte à une base de données sql server distante [ par rachtout ] Bonjour,j'aimerais savoir s'il est possible qu'un PDA peut il se connecter directement à une base de données distante sql server sans se passer par l requete insert SQL pour 2000 données [ par akirra44 ] Bonjour, tout abord je vous prévient je suis une bille en SQL... je doit rentrer 2000 données dans ma BDD pour de la fabrication de rhum. Sachant que tracer des courbes à partir de données contenues dans un fichier txt [ par johnASP ] Bonjour, Tout d'abord , j'aurais voulu savoir si s'était possible de créer des graphiques dans une Windows form sous le logiciel Microsoft Visual Stu


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,170 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales