otwieram sobie plik tekstowy w ktorym juz mam koluwne danych, no i chce dopisać druga kolumne danych. jak to zrobić?
czyli np. otwieram plik, szukam konca linii i dopisuje jakąś wartość, potem przechodzę do drugiej linii, szukam jej końca i dopisuję wartość. Tylko jak znaleźć koniec linii w pliku tekstowym?
Eeee ze niby jak to sobie wyobrażasz ? Że odczytasz linijke, dokleisz do niej kawalek tekstu, wrzucisz, do tego samego pliku, a reszta automatycznie sama sie przesunie o n dodanych bajtów i zrobi przestrzeń w pliku ? Przeciez plik to bajt za bajtem, bez nieciągłosci. Sposób jest taki: Z jednego pliku czytasz, dodajesz swoje, do drugiego zapisujesz, potem kasujesz stary a nowemu zmieniasz nazwę.
getline(char tmp[], sizeof(tmp), '\n' /znak konca lini/);
potem:
fout<<tmp<<'\t'<<drugakolumna<<endl; //czyli '\n'
otworz plik binarnie np:
FILE *f;
char cZnak;
unsigned long ulOffset = 0;
if(( f=fopen( "nazwa.roz" , "rb" )) != NULL )
{
fread( &cZnak , sizeof( cZnak ),1, f );
while( ! feof( f ) )
{
if( cZnak == '\r' )
{
//koniec lini
fclose( f );
return;
}
ulOffset++;
}
}
if(( f=fopen( "nazwa.roz" , "r+b" )) != NULL )
{
fseek( f , ulOffset , SEEK_SET ); // ustawiasz adres w pliku
fwrite( cBuffor , sizeof( cBuffor ),1, f ); // zapisujesz dane
fclose( f );
}
dzięki za pomoc :)