begin process at 2012 05 29 03:55:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

Insérer/supprimer charactères dans un fichier


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

Insérer/supprimer charactères dans un fichier

mardi 9 août 2005 à 10:42:20 | Insérer/supprimer charactères dans un fichier

gwenChina

Bonjour,

En fait je doit aller modifier des charatères a l'intérieur d'un fichier (octet par octet). J'arrive tout a fait à écrire dans le fichier en réécrivant par dessus les octets existants mais je n'arrive pas a savoir comment je peux insérer des charatères (sans modifier celui d'avant) ou tout simplement supprimer des charactères.
J'ouvre mon fichier avec fopen en mode "rb+". Peut-etre faut-il que je change de mode d'ouverture de mon fichier.
Sinon y-t'il des fonctions qui permettent d'insérer ou de modifier des octets??

Merci d'avance pour vos réponses

GwenChina


mardi 9 août 2005 à 10:56:11 | Re : Insérer/supprimer charactères dans un fichier

BruNews

Administrateur CodeS-SourceS
Pour insérer faut d'abord récupérer toout ce qu'il y a après la position du pointeur fichier, tamponner ce que tu veux ajouter et retamponner ce que tu as récupéré à l'étape 1.

ciao...
BruNews, MVP VC++
mercredi 10 août 2005 à 11:39:31 | Re : Insérer/supprimer charactères dans un fichier

gwenChina

Merci pour l'info,

Le problème c'est que ca marche seulement si je veux insérer des charactères supplémentaires.
Mon fichier est composés de champs que je dois venir modifier. Donc si l'ancien champs est plus long que le nouveau, il faut que je supprime des charactères à la fin du fichier.
En fait je copie tout ce qu'il y a apres le champs a modifier dans un tampon, je réécris le nouveau champs par-dessus l'ancien champs et je viens recoller juste derrière la nouvelle valeur, le tampon. Mais si mon fichier final est plus petit que l'ancien, il va falloir que je supprime les charactères en trop en fin de fichier.
Y'a-t-il une fonction C qui permet la suppression de charactères, ou encore la suppression de tout ce qu'il y a dans le fichier (dans ce cas je réécris le fichier)??
Sinon, est-ce que je peux ouvrir deux fichier de même nom, un en lecture et l'autre en écriture et dans ce cas je recopie tout dans l'autre fichier?? Car mon fichier doit garder le même nom.

J'ai déja essayé pas mal de chose mais rien ne marche...

Merci d'avance

GwenChina

mercredi 10 août 2005 à 12:08:47 | Re : Insérer/supprimer charactères dans un fichier

BruNews

Administrateur CodeS-SourceS
Ecris ton fichier avec des champs de logueur fixe (des structures), ça règlera le problème et sera beaucoup plus rapide d'accès.
Possible dans ton cas ??? à toi de voir.

Sinon je n'utilise que API Windows pour les fichiers:
CreateFile() pour ouverture ou création.
ReadFile() lecture.
WriteFile() écriture.
SetEndOfFile() tronquer.
CloseHandle() fermeture.

ciao...
BruNews, MVP VC++
jeudi 11 août 2005 à 05:00:14 | Re : Insérer/supprimer charactères dans un fichier

gwenChina

Mes champs ne peuvent pas avoir une taille fixe, c'est bien dommage d'ailleurs, je me prendrais moins la tete!!
En plus je ne peux pas utiliser d'API windows puisque mon logiciel est destine a une utilisation sur PRKernel, sur une systeme embarque. Ce qui complique d'autant plus les choses...
En fait est-ce que la fonction feof (FILE *stream) (stdio.h) est la meme que SetEndOfFile()? Car dans ce cas si je connais la nouvelle taille de mon fichier et que je lui affecte une nouvelle fin de fichier, mon fichier devrait prendre la nouvelle taille, n'est-ce pas??

Merci d'avance

GwenChina



jeudi 11 août 2005 à 10:07:07 | Re : Insérer/supprimer charactères dans un fichier

BruNews

Administrateur CodeS-SourceS
Devrait aller du moment que ça tronque le fichier à la position voulue.

ciao...
BruNews, MVP VC++


Cette discussion est classée dans : fichier, modifier, supprimer, insérer, charactères


Répondre à ce message

Sujets en rapport avec ce message

AIDE programme supprimer un fichier ! SVP [ par nico ] salut à tous,je suis un gros nul en c++ , je viens de telecharger dev-c++ et j'aimerais faire mon premier programe tout simple pour supprimer un fichi Un fichier .rul c'est quoi ???? [ par sounlight ] Voici mon problème : je dois modifier un logiciel programmé en c++. J'ai ses codes sources.Lors de l'installation du logiciel, le setup ne détecte pas Urgent:supprimer une chaine d'un fichier [ par rene77 ] Bonjour à tous, J'ai besoin de supprimer des chaines de caractères d'un fichier txt.Je travaille sous Builder et j'y arrive pas !!!OUINNNN OUINNNS'il modifier un enregistrement [ par ludelu ] Bonjour, je souhaiterai savoir comment on peut modiffier un enregistrement dans un fichier et dans la même ocasion supprimer un fichier.Le fichier est Supprimer les n premiers octet d'un fichier [ par arc59 ] Bonjour, dans mon programme de modification des ID 3 tag, je voudrai permettre à l'utilisateur de supprimer les Id3tag de version 2. Ces tag sont plac modifier un fichier en hexadecimal [ par cybermarcel ] bonjours tout le monde !!! la forme ??alors voila je voudrai ouvrire un fichier et changer une valeur mais je voudrai l'ouvrire en hexadecimal et chan C : Supprimer une ligne d'un fichier [ par liloulola ] Bonjour, ca y est, j'arrive à stocker mes structures dans un fichier !En fait, je stocke plusieurs enregistrements du type %s%s%s/nJe souhaiterais pou Supprimer les espaces dans un fichier texte!!! [ par salley ] Voila j'ai un fichier texte avec plein de chiffres et entre chaque chiffre 5 espaces, j'aimerais le modifier :1/ J'aimerais enlever les 50 premiers ca supprimer un fichier [ par Samuel0210 ] slt comment on supprime un fichier en c++ ?avec une fonction kill(fichier); ???bye et merci d'avance... modifier l'extension d'un fichier [ par oudkaramla ] bonjour j'ai un soucis:j'ai un fichier dont le nom est contenu dans une variable de type char, le probleme est que je veux changer son extensionl'exte


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
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 : 0,593 sec (4)

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