• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kopiowanie z pliku do pliku (C++)

Object Storage Arubacloud
+2 głosów
1,611 wizyt
pytanie zadane 21 kwietnia 2018 w C i C++ przez Sic Dyskutant (8,510 p.)
Witam chcę napisać program, który będzie kopiował zawartość z pliku do pliku (niekoniecznie w tym samym pliku). Chciałbym uzyskać informacji jakie muszę wykorzystać do tego biblioteki ?

4 odpowiedzi

+1 głos
odpowiedź 21 kwietnia 2018 przez mokrowski Mędrzec (155,460 p.)
wybrane 21 kwietnia 2018 przez Sic
 
Najlepsza

I jeszcze jeden sposób jeśli poniżej C++17, także dość intuicyjny:

#include <iostream>
#include <fstream>
#include <iterator>
#include <algorithm>

int main() {
    std::ifstream input("input_file.bin", std::ios::binary);
    std::ofstream output("output_file.bin", std::ios::binary);

    std::istreambuf_iterator<char> bInput(input);
    std::istreambuf_iterator<char> eInput;
    std::ostreambuf_iterator<char> bOutput(output); 
    std::copy(bInput, eInput, bOutput);
}

Najszybciej jednak zrobią to mechanizmy systemowe ale wynik to ~20-30% szybciej niż na poziomie C++

komentarz 21 kwietnia 2018 przez Sic Dyskutant (8,510 p.)
A mam pytanie, ponieważ wykorzystałem opcje usuwania zawartości pliku a teraz chciałbym odczytać zawartość, która już się tam znajduję. Jak tego dokonać?
1
komentarz 21 kwietnia 2018 przez Sedi Stary wyjadacz (10,200 p.)
Dobrze rozumiem, że usunąłeś plik, a teraz chciałbyś go odczytać ?
komentarz 22 kwietnia 2018 przez Sic Dyskutant (8,510 p.)
Haha, oczywiście to był zupełnie inny plik. Zależy mi na tym aby odczytać plik, które zostanie zawarty w kodzie, jednak nie wiem jak tego dokonać, ponieważ próbowałem wielu sposobów.
+3 głosów
odpowiedź 21 kwietnia 2018 przez RafalS VIP (122,820 p.)

Jeśli pytasz tylko o biblioteke to:

#include <fstream>

 

komentarz 21 kwietnia 2018 przez Sic Dyskutant (8,510 p.)
Dziękuję, po prostu sam chcę najpierw spróbować.
+1 głos
odpowiedź 21 kwietnia 2018 przez niezalogowany
komentarz 21 kwietnia 2018 przez Sic Dyskutant (8,510 p.)
Dzięki.
–1 głos
odpowiedź 21 kwietnia 2018 przez mokrowski Mędrzec (155,460 p.)
#include <iostream>
#include <fstream>

int main() {
	std::ifstream input("input_file.bin", std::ios::binary);
	std::ofstream output("output_file.bin", std::ios::binary);
	output << input.rdbuf();
}

 

1
komentarz 21 kwietnia 2018 przez Sedi Stary wyjadacz (10,200 p.)
Mam pytanie, dlaczego kolega dostał minusa? Rdbuf to świetna sprawa, zwłaszcza jeśli nie ma się komplilatora C++17
komentarz 22 kwietnia 2018 przez mokrowski Mędrzec (155,460 p.)
Także się zastanawiałem ale widać nie każdemu pasuje rozwiązanie uniwersalne i wygrało mniej uniwersalne oraz w dodatku ... wolniejsze :)

Podobne pytania

+1 głos
1 odpowiedź 444 wizyt
pytanie zadane 23 maja 2015 w C i C++ przez niezalogowany
0 głosów
1 odpowiedź 180 wizyt
0 głosów
1 odpowiedź 2,619 wizyt
pytanie zadane 10 września 2016 w C i C++ przez BinaryMan Stary wyjadacz (12,620 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...