Ja nie mam pojęcia, co ty chcesz uzyskać w tym programie, ale niech ci będzie:
plik.open("C:\\Users\\patryk\\Desktop\\TEST.txt", std::ios::out | std::ios::app);
if(plik.is_open()){
time_t czas;
time(&czas);
char * data = ctime(&czas);
std::string napis = data;
int C = napis.size();
int G = sizeof(data) * C;
std::cout << "Rozmiar daty : " << G << std::endl;
std::cout << "data" << data << std::endl;
std::cout << "Podaj jakiś tekst: ";
getline(std::cin, napis);
plik.write( napis.c_str(), napis.length() );
plik.close();
}else{
std::cout<<"Coś nie tak";
}
Zmieniona została linijka:
plik.write( & napis[ G ], napis.length() );
która po wpisaniu wartości, co dzieje się w linii:
getline(std::cin, napis);
powoduje błąd i zamknięcie programu.
Dodałem również sprawdzanie, czy plik został poprawnie otworzony (bo go otwierasz drugi raz)..