Remplacer une ligne dans un fichier texte
Je veux remplacer une ligne de texte dans un fichier, mais je ne sais pas un les fonctions.
J'ai ceci:
ofstream outfile("text.txt");
ifstream infile("text.txt");
infile >> replace whit other text;
Toutes les réponses pour cette?
Je m'ennuie de le dire, pour ajouter du texte dans une ligne dans le fichier...
Exemple
infile.add(text, line);
Ne C++ les fonctions pour cela?
Voir si cela peut vous aider: stackoverflow.com/questions/4499095/replace-line-in-a-file-c
Est-ce devoirs? Si oui, veuillez l'étiquette, sinon, je vous suggère un langage de script comme perl ou python, ou tout simplement en utilisant
Non, pas pour les devoirs, de son pour travailler un peu...
tout especial raison de l'utilisation de C++?
Ouais, SDL, les Moteurs, les Jeux, l'un réinterrogée pour le Jeu développé dans l'industrie
Est-ce devoirs? Si oui, veuillez l'étiquette, sinon, je vous suggère un langage de script comme perl ou python, ou tout simplement en utilisant
sed
.Non, pas pour les devoirs, de son pour travailler un peu...
tout especial raison de l'utilisation de C++?
Ouais, SDL, les Moteurs, les Jeux, l'un réinterrogée pour le Jeu développé dans l'industrie
OriginalL'auteur Warkanlock | 2012-02-29
Vous devez vous connecter pour publier un commentaire.
Je crains que vous aurez probablement à réécrire l'intégralité du fichier. Voici comment vous pourriez le faire:
Input-file:
Fichier de sortie:
Juste décommentez les lignes commentées si vous ne souhaitez remplacer la première occurrence. Aussi, j'ai oublié, à la fin, ajoutez le code qui supprime filein.txt et renomme fileout.txt pour filein.txt.
strTemp += "\n"; fileout << strTemp;
avecfileout << strTemp << '\n';
.OriginalL'auteur Anton
Vous devez chercher à la bonne ligne/char/position dans le fichier et puisécrire. Il n'y a pas de fonction pour rechercher et remplacer en tant que tels (que je connais).
Cela ne fonctionnera pas si le texte de remplacement n'est pas exactement de la même taille, en octets, que celui qu'il remplace.
OriginalL'auteur Kashyap
La seule façon de remplacer du texte dans un fichier, ou d'ajouter des lignes au milieu d'un fichier, consiste à réécrire l' fichier entier du point de la première modification. Vous ne pouvez pas "faire de la place" au milieu d'un fichier pour les nouvelles lignes.
La fiable façon de le faire est de copier le contenu du fichier dans un nouveau fichier, les modifications que vous allez, et ensuite utiliser
rename
à remplacer l'ancien fichier par le nouveau.OriginalL'auteur zwol