Redigera text i textfil med C+

Permalänk
Medlem

Redigera text i textfil med C+

Jag vill göra ett program där användaren kan ändra innehållet i en textfil. Hur går man till väga då? Jag vet att man använder ofstream när man lägger till ny data. Är det någon man använder sig av när man ska göra en ändring av befintligt innehåll också?

Såhär är väl tanken att programet ska fungera.
Tacksam för all hjälp

Program skriver ut innehåll i textfil:
hej
23
56

Skriv in ett nytt tal till andra raden: 44

Program skriver ut innehåll i textfil:
hej
44
56

Permalänk
Medlem

det enklaste tror jag är om du läser in hela filen i någon lämplig datastruktur (t ex om det handlar om att ersätta innehållet på någon rad så kanske en lista av strängar är lämpligt), och sedan när du ska spara så skriver du om hela filen utifrån din datastruktur. dvs gå inte in och försök göra "in-place" modifieringar av filen, det gör bara livet svårare.

Permalänk
Medlem

Om du vill prompt vill skriva över på andra raden så använd seekp(1) och sedan write för att skriva över den raden.
Du kan lära dig mycket av klassen ifall du läser i dokumentationen. fstream - C++ Reference
fstream ger dig tillgång till både läsa och skriva.