Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Skopiowanie zawartości jednego pliku do drugiego w trybie binarnym.

Ostatnio zmodyfikowano 2011-01-05 16:26
Autor Wiadomość
MrOsamaful
Temat założony przez niniejszego użytkownika
Skopiowanie zawartości jednego pliku do drugiego w trybie binarnym.
» 2011-01-04 23:02:36
To znowu ja i znowu mam problem(a to Ci niespodzianka :P), próbowałem napisać program, który kopiuje z zawartość jednego pliku do drugiego w trybie binarnym. Gdy ja próbowałem to zrobić, to albo kopiowała się tylko część, albo kopiowało się to co trzeba + jakieś śmieci, których w ogóle nie ma w pliku, albo w ogóle nie działało. Nie zależy mi na tym, żeby chodziło to szybko, bardziej, żeby było "precyzyjne". Szukałem podobnych rzeczy na necie ale nie mogłem nic znaleźć, więc w ostateczności proszę Was o pomoc.

Możecie nie zrozumieć bo nie mam jakichś hiper umiejętności wysławiania się więc napiszę o co mi chodzi w taki sposób:

Jest plik a, to on kopiuje.
Jest plik b, z niego się kopiuje.
Jest plik c, do niego się wkleja to co skopiował plik a z pliku b. 
P-26217
DejaVu
» 2011-01-04 23:28:57
Słabo szukałeś... http://cpp0x.pl/kursy/Kurs-C++-v2-0/Obsluga-plikow/138 - funkcje read i write - do tej części materiałów dostęp tylko dla zalogowanych użytkowników, bowiem to są teksty archiwalne i istnieją jeszcze pod starą domeną.
P-26218
ison
» 2011-01-04 23:29:08
Zwyczajnie otwierasz binarnie i wszystko co wczytasz kopiujesz do drugiego pliku

C/C++
#include <fstream>
#include <cstdio>

const char _in[] = "a.exe";
const char _out[] = "b.exe";

int main()
{
    std::fstream copyFile;
    copyFile.open( _in, std::ios::in | std::ios::binary );
    if( copyFile.good() ) {
        std::fstream copyTo;
        copyTo.open( _out, std::ios::out | std::ios::binary );
        unsigned char tmp;
        copyFile >> std::noskipws;
        if( copyTo.good() ) while( copyFile >> tmp ) copyTo << tmp;
        else std::printf( "Could not open/create %s\n", _out );
       
        copyTo.close();
    }
    else std::printf( "Could not open %s\n", _in );
   
    copyFile.close();
}
P-26219
MrOsamaful
Temat założony przez niniejszego użytkownika
» 2011-01-05 16:26:42
Bardzo dziękuję działa świetnie, po raz kolejny mi pomogliście :)
P-26223
« 1 »
  Strona 1 z 1