Witam, to mój pierwszy problem, o którego rozwiązanie pokusiłem się za pomocą forum więc proszę o wyrozumiałość. W każdym razie do rzeczy. Napisałem program który zapisuje w pliku .txt zbadane przez niego liczby pierwsze, a w pierwszej linii podaje ich liczbę. Mój problem polega na tym że jeżeli uda mi się odkryć więcej liczb pierwszych to chcę żeby pierwsza linijka w pliku.txt zmieniła się np. z zbadane liczby pierwsze 5 na np. zbadane liczby pierwsze 10, jednakże udaje mi się tylko wyczyścić cały plik tekstowy i wypisać na nowo "zbadane liczby pierwsze 10". Proszę więc o pomoc i wskazanie mi jak zmodyfikować konkretną linijkę pliku tekstowego za pomocą fstream. Z góry dziękuję za pomoc :)
PS. właściwy kod jest troszkę dłuższy więc skróciłem go do niezbędnego minimum.
#include <iostream>
#include <cstdlib>
#include <stdlib.h>
#include <fstream>
#include <vector>
using namespace std;
int main()
{
fstream plik;
plik.open("liczby_pierwsze.txt", ios::out);
if(plik.good()==false)
{
cout<<"problem z plikiem";
return 0;
}
plik<<"zbadane liczby pierwsze "<<2<<endl;
plik<<"*jestem liczba pierwsza*"<<endl;
plik.close();
plik.open("liczby_pierwsze.txt", ios::out);
//plik.seekg( 0 ); //ustawienie "kursora" na poczatek pliku
plik<<"zbadane liczby pierwsze "<<7<<endl; //i tu jest problem. plik liczby_pierwsze.txt jest czyszczony i wypelniony tresca "zbadane liczby pierwsze 5", zamiast nadpisac 1 linijke
plik.close();
}