Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Remplacer des donnees avec ofstream [ Windows / Fichier & Disque ] (bioopovega)

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é 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 socket et réception de données avec la fonction recvfrom [ par poporiding ] bonjour tout le monde, maitenant que j'arrive a envoyer des donnée avec mes sockets, j'aimerais traiter le retour. pour cela j'ai créé la fonction s enregistrer données dataset dans un fichier excel [ par seuth ] Bonjour, je souhaiterais enregsitrer les valeurs de ma dataset ou datatable dans en fichier excel, comment faire?C'est urgent!!! Merci d'avance pour v Remplacer le Click droit par un long click gauche. [ par cedoli ] Salut à tous, je suis l'heureux propriétaire d'un Macbook, et débutant en C. J'utilise Windows avec le logiciel Bootcamp pour coder. Et j'aimerais fai Problème d'Alias avec C++ Builder [ par kj_83 ] Bonjour ,Vous avez peut-être déjà vu ce message mais j'ai un grave problème avec les Alias.Je réalise un programme de gestion de stock sous Borland C+ ODBC en C [ par oxifis974 ] Bonjour tout le mondeJe cherche a me connecter à une base de données en C. SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv); // la version d'ODB ofstream et écriture dans un fichier texte [ par bobybx ] Bonjour,J'ai une question peut-être bête mais je suis bloqué :J'ai un fichier texte avec 3 lignesligne 1ligne 2ligne 3Le contenu de ces lignes varient Recuperer des données dans un fichier [ par tony_73 ] Bonjour.voila je suis debutant en dot.net et j'aimerais faire une interface sur lequel toutes mes données (titre de fenetre, texte de label, etc..) do Liaison série DSR [ par joey11 ] Bonjour à tous, J'utilise une liaison série pour recevoir et traiter des données issue d'un GPS. Sachant que la broche Rx (réception de données) est d


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version


HTC Magic

Entre 429€ et 429€


Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,281 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.