Supprimer une chaine dans un fichier - C - Programmation
Marsh Posté le 04-09-2003 à 11:42:05
Ouvre ton fichier, charge le entierement en memoire, fait tes modifs et resauve le
Marsh Posté le 04-09-2003 à 11:45:42
Ya t-il une fonction qui permet de remplacer une sous-chaine par une autre dans une zone mémoire ? (remplacer "toto" par "titi" dans la zone "tiens voila toto" )
Ou alors je dois me taper tous les traitements moi-même bouh
Marsh Posté le 04-09-2003 à 11:49:45
utilise strstr pour recupérer la position d'une sous chaine dans une chaine.
Ensuite faut voir, y a plusieurs cas.
Si la nouvelle chaine est + petite que l'ancienne, tu reecrit dessus direct et tu fait la recopie du reste du fichier.
Si les tailles sont egales, pas de problems tu remplaces
si nouvelle chaine + grande, faut reallouer la memoire recopier le fichier et calculer combien d'octet tu va avoir besoin.
Marsh Posté le 04-09-2003 à 11:52:18
Ok merci je vais voir comme çà.
Je tiens à dire quand même que la manipulation de chaines, c'est vraiment ce qu'il ya de plus pénible en programmation
Marsh Posté le 04-09-2003 à 11:55:50
cypress a écrit : |
Je crois que tu es loin de tout connaitre en programmation...
Marsh Posté le 04-09-2003 à 11:59:34
Oh t'inkiete pas pour çà
Je disais "pénible" dans le sens "chiant et inintéressant"
Ya nettement plus complexe, mais plus passionant en même temps
Marsh Posté le 04-09-2003 à 11:40:08
Salut,
En C, dans un fichier, je souhaite supprimer une chaine, par exemple "toto", ou même la remplacer par autre chose.
Comment faire pour supprimer ou remplacer simplement cette chaine, sans passer par un 2è fichier de traitement ?
Merci !
---------------
Savoir c'est vivre, et maintenir dans l'ignorance c'est presque un homicide