Jak zrobić żeby każde dopisanie do pliku zaczynało się od nowej linijki ??
Wiem tyle że do każdego dopisywania do pliku należy dodać ios::app a wstawianie na końcu \n w zmiennej char nie działa.
Jak zrobić żeby każde dopisanie do pliku zaczynało się od nowej linijki ??
Wiem tyle że do każdego dopisywania do pliku należy dodać ios::app a wstawianie na końcu \n w zmiennej char nie działa.
To podczas dopisywania wstawiaj na początku \r\n
W systemie Linux zakończeniem linii jest \n (LF), dla Windows jest to \r\n (CRLF), więcej na wiki.
Jak chcesz dopisać do pliku od nowej linii musisz sprawdzić, czy ostatnim znakiem jest zakończenie linii, jeżeli nie dopisać je. Spójrz na przykład na to:
#include
Albo do pliku zawsze zapisywać wiersze z enterem na końcu co jest najprostsze i nie trzeba niczego sprawdzać. Albo dopisywać z enterem na początku jeżeli to nie pierwszy wiersz w pliku:
#include
#include
using namespace std;
int main()
{
char dopisz[]="\nTo dopisze. Nie zakończę znakiem nowej linii. Na początku pliku nie będzie entera";
fstream file("mojplik.txt",ios::app);
if(!file)
{
cout<<"Nie udalo sie otworzyc pliku."<
return 1;
}
file.seekp(0,ios::end);
file<<(dopisz+(file.tellp()>0));
file.close();
cout<<"Dopisano!"<
cin.sync();cin.get();
return 0;
}