Skopiowanie zawartości jednego pliku do drugiego w trybie binarnym.
Ostatnio zmodyfikowano 2011-01-05 16:26
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. |
|
DejaVu |
» 2011-01-04 23:28:57 |
|
ison |
» 2011-01-04 23:29:08 Zwyczajnie otwierasz binarnie i wszystko co wczytasz kopiujesz do drugiego pliku #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(); }
|
|
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 :) |
|
« 1 » |