begin process at 2010 02 10 10:12:03
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

Fichier & Disque

 > 

ofstream et écriture dans un fichier texte


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

ofstream et écriture dans un fichier texte

samedi 24 juin 2006 à 18:13:31 | ofstream et écriture dans un fichier texte

bobybx

Bonjour,

J'ai une question peut-être bête mais je suis bloqué :
J'ai un fichier texte avec 3 lignes

ligne 1
ligne 2
ligne 3

Le contenu de ces lignes varient et sont totalement différents.
Je souhaiterais effacer via ofstream la ligne 2 pour la remplacer par une ligne 4 d'une longueur différente.
Je connais la position de la ligne et place le curseur sur la ligne grace à
fichier.seekg(position);

Comment effecer la ligne à cette position en la remplaçant par une autre sans toucher les autres lignes ??
samedi 24 juin 2006 à 18:39:48 | Re : ofstream et écriture dans un fichier texte

luhtor

A ton avis ? Un fichier c'est quoi ? Une suite d'octet. Une ligne c'est quoi ? une suite d'octet... Apres la ligne 2, la ligne 3 commence. Or sur un disque dur, tu peux pas rajouter des octets libres entre 2 octets, ca te parait logique non ?
Donc a partir de la, ya pas 36 solutions pour faire ce que tu veux.... Faut tout décaler. Tu écris ta ligne 4 puis toutes les lignes suivantes a partir de la 3.


samedi 24 juin 2006 à 18:46:53 | Re : ofstream et écriture dans un fichier texte

bobybx

En effet, logique...

C'est la raison pour laquelle j'ai mis toutes mes lignes de la même taille

explication:

ligne 1 en position 0
ligne 2 en position 12
ligne 3 en position 31

je souhaite modifier la ligne 2 par une ligne 4 de même taille (ligne 4 que je connais)

Comment faire?

Merci d'avance.
samedi 24 juin 2006 à 19:10:09 | Re : ofstream et écriture dans un fichier texte

luhtor

Ben:
ofstream file;
file.seekp(debut de ligne 2);
file << ligne 4.
      


samedi 24 juin 2006 à 19:14:17 | Re : ofstream et écriture dans un fichier texte

bobybx

J'ai déjà essayé. int position = 164; ofstream fichier( "cpm.txt" ); fichier.seekp(position); fichier << "Groupe Z\n"; Le code suivant me donne 164 blanc au lieu de ma laisser mes lignes avant la position 164 et efface aussi tout le reste après mon "Groupe Z\n". En clair la ligne 1 et 3 ont été effacées. Comment faire pour que ça ne soit pas le cas?
samedi 24 juin 2006 à 19:23:22 | Re : ofstream et écriture dans un fichier texte

luhtor

Bon sinon:
int position = 164;
ofstream fichier( "cpm.txt" );
const char chaine[] = "Groupe Z\n";
fichier.seekp(position);
fichier.write(chaine, longueur de chaine);


samedi 24 juin 2006 à 19:27:11 | Re : ofstream et écriture dans un fichier texte

bobybx

encore 164 blanc Là, je suis perdu...
samedi 24 juin 2006 à 19:38:23 | Re : ofstream et écriture dans un fichier texte

luhtor

En fait, faut utiliser fstream et non ofstream;

int position = 164;
fstream fichier( "cpm.txt" ); <= note la différence
fichier.seekp(position);
fichier << "Groupe Z\n";
dimanche 25 juin 2006 à 00:33:56 | Re : ofstream et écriture dans un fichier texte

bobybx

Réponse acceptée !
Merci pour ton aide luhtor. J'ai fianlement réussi Code : int position = 164; ofstream fichier( "fichier.txt", ios_base::in ); fichier.seekp(position); fichier << "Groupe B"; Cela me permet de modifier la ligne à la position 164 par "Groupe B" sans aucun impact sur les lignes précédentes et lignes suivantes. Merci !!!!!!!!!!!!!!!!!!!!!!!!!


Cette discussion est classée dans : fichier, ligne, texte, position, ofstream


Répondre à ce message

Sujets en rapport avec ce message

Recherche une ligne dans un fichier texte [ par kamelDEA ] Bonjour,J'ai un fichier texte qui contient 100 ligne.chaque ligne est composée de 4 valeurs décimales (valeur de probabilité)J'arrive pas à touver la pb avec tableau et fichier texte [ par krolanta ] Voila mon pb é que g un fichier texte avec des coordonnées et que je voudrais mettre chaque coordonnées ds une case du tableau.En fait ca revient a li saut de ligne dans un fichier texte [ par milhandril ] Je souhaite enregistrer des valeurs saisies dans une boite de dialogue dans un fichier texte, chaque champ est délimté par le caractère ";" et je souh Lire un fichier Texte Ligne par ligne [ par Ricpperso ] Bonjour,bon je fai un pti proget je voudrai savoir comment on fais pour lire un fichier Texte ligne par ligne, avec si possible le Cfile.merci d'avanc Lire une ligne d'un fichier texte [ par CassusGreg ] Salut à tous,Est-ce-qu'il existe une fonction pour lire une ligne de texte (terminé par 0x0D 0x0A) dans un fichier?Je suis sous VC++ 6merci fichier texte [ par codavi ] Bonjour, Voilà, je viens de décrouvrir ce forum et je souhaiterais que quelqu'un m'apporte un peu d'aide. Je veux pouvoir lire/ecrire dans un fichier lire une ligne dans un fichier texte puis........ [ par oudkaramla ] salut out le monde,je veux lire 3 lignes d'un fichier texte, puis faire le découpage de chaque ligne en petits morceauxje sais qu'il ft faire fopen() ecrire sur la deuxieme ligne d'un fichier texte [ par igorpastis ] salut  voila j'ai fait une fonction qui ecrit dans un fichier texte et je voudrais a chaque fois que j'appelle cette fonction ajouter les valeures sur fin de ligne [ par Joyeuse_Fougere ] Salut a vous, programmeur!je sui tres embeté g un probleme avec la fin de ligne dans un fichier texte:je dois reperer certaine ligne dans un fichier t Se positionner sur une ligne précise dans une fichier texte [ par FOSTA ] Bonjour,Je souhaite faire une indexation directe sur une ligne donnée en donnant le numéro de la ligne. Cela est-il possible en C?Merci pour votre aid


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

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

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