Hallo zusammen, ich habe hier ein Code den ich von hier habe.
Da wurde mir erklärt wie ich zeilenweise aus einer .txt lese, ändere und wieder speichere, also mit vector.
Jetzt ist aber mein Problem, dass ich nicht die ganze Zeile ändern möchte, nur einen Teil, und was auch noch wichtig ist, beim wieder einlesen darf es mir die vorhandenen Zeichen nicht verschieben, also quasi wie mit dem Befehl setw().
Ich habe vorhin auch gelesen, dass ich die Zeilen Buchstabenweise auslesen könnte, ändern und wieder speichern, würde das in meinem Fall auch gehen?
Ich stell eüch mal meinen vorhandenen Code hinein:
Danke und Gruss
Da wurde mir erklärt wie ich zeilenweise aus einer .txt lese, ändere und wieder speichere, also mit vector.
Jetzt ist aber mein Problem, dass ich nicht die ganze Zeile ändern möchte, nur einen Teil, und was auch noch wichtig ist, beim wieder einlesen darf es mir die vorhandenen Zeichen nicht verschieben, also quasi wie mit dem Befehl setw().
Ich habe vorhin auch gelesen, dass ich die Zeilen Buchstabenweise auslesen könnte, ändern und wieder speichern, würde das in meinem Fall auch gehen?
Ich stell eüch mal meinen vorhandenen Code hinein:
Code:
unsigned int nr;
string line;
fstream file("Ablage.txt", ios::in);
if (!file.is_open())
{
return 1;
}
vector<string> content;
while (getline(file, line))
{
content.push_back(line);
}
cout << "Zeilennummer (1-" << content.size() << "): ";
if (cin >> nr && nr >= 1 && nr <= content.size())
{
--nr;
cin.ignore(1 << 13, '\n');
}
else
{
return 1;
}
cout << "Aktueller Inhalt der Zeile" << line
<< ": " << content[nr] << endl;
cout << "Bitte neuer Inhalt eingeben: ";
if (!getline(cin, content[nr]))
{
return 1;
}
file.close();
file.clear();
file.open("Ablage.txt", ios::out | ios::trunc);
copy(content.begin(), content.end(),
ostream_iterator<string>(file, "\n"));
return 0;
}
Danke und Gruss