seekp() - usuwa zawartosc
Ostatnio zmodyfikowano 2017-03-01 21:19
Lich555 Temat założony przez niniejszego użytkownika |
seekp() - usuwa zawartosc » 2017-02-28 22:11:28 Witam. Mam taki problem: #include <iostream> #include <fstream>
using namespace std;
int main() { char tekst[] = { "Kacper\n" "To\n" "Swietny\n" "Gosc" }; fstream strum( "Plik1.txt", ios::in | ios::out ); strum << tekst; strum.seekp( 7 ); strum << " Jestes tutaj. "; strum.seekp( - 4, ios::end ); strum << " Teraz jestes tutaj. "; return 0; }
Rezultat tego to: Kacper Jestes tutaj. Teraz jestes tutaj. Oczekiwany rezultat: Kacper Jestes tutaj. To Swietny Teraz jestes tutaj. Gosc Co poszło nie tak? :P |
|
czaffik |
» 2017-02-28 23:14:50 1: http://en.cppreference.com/w/cpp/io/basic_ostream/seekp 2: #include <iostream> #include <fstream>
using namespace std;
int main() { char tekst[] = { "Kacper\n" "To\n" "Swietny\n" "Gosc" }; fstream strum( "Plik1.txt", ios::in | ios::out ); strum << tekst; strum.seekp( 7 ); strum << "1"; strum.seekp( - 5, ios::end ); strum << "2"; return 0; }
Wynik: "Kacper1To\nSwietny2Gosc" Mówiąc inaczej funkcja nie zadziałała zgodnie z twoimi przewidywaniami :P |
|
Lich555 Temat założony przez niniejszego użytkownika |
» 2017-03-01 20:19:54 Czyli to co chciałem wpisać w miejsce pokazane przeze mnie wskaźnikiem nadpisywało stary tekst? Jest jakaś możliwość, by - używając tej funkcji - nie nadpisywać, lecz "przesuwać" tekst? |
|
pekfos |
» 2017-03-01 21:19:31 Jeśli sam go sobie 'przesuniesz', to tak. |
|
« 1 » |