|
| Kopier filer Fra : Martin Persson |
Dato : 12-01-03 00:27 |
|
Hej NG
Jeg prøver at kopiere en mp3 fil fra et drev til et andet på følgende
måde:
ifstream in(file, ios::binary);
ofstream out(dest, ios::binary);
char buffer;
while(in)
{
in >> buffer;
if(in) out << buffer;
}
Umiddelbar bliver filen kopieret, men den kan bare ikke afspilles.
Er der en forklaring på dette og hvordan skal man ellers kopiere en
mp3 fil.
VH Martin
| |
Martin Moller Peders~ (12-01-2003)
| Kommentar Fra : Martin Moller Peders~ |
Dato : 12-01-03 13:55 |
|
In <ar912vsbvh0rgcouial59or3auo625s632@4ax.com> Martin Persson <dis-mp@get2net.dk> writes:
>Hej NG
>Jeg prøver at kopiere en mp3 fil fra et drev til et andet på følgende
>måde:
>ifstream in(file, ios::binary);
>ofstream out(dest, ios::binary);
>char buffer;
> while(in)
> {
> in >> buffer;
> if(in) out << buffer;
> }
>Umiddelbar bliver filen kopieret, men den kan bare ikke afspilles.
Maaske bliver filen ikke flush'et, saa de sidste par bytes mangler.
Proev at checke at laengden af kopien er lig laengden af original filen.
/Martin M. Pedersen
--
Martin M. Pedersen
"*Dansk Folkeparti*, nazistisk orienteret dansk parti
1941-1945, grundlagt af Svend E. Johansen og Th.M. Andersen"
| |
Martin Persson (12-01-2003)
| Kommentar Fra : Martin Persson |
Dato : 12-01-03 17:33 |
|
Tak for svaret. Jeg har i mellemtiden brugt denne metode
FILE *in = fopen(file, "rb");
FILE *out = fopen(dest, "wb");
char buffer[1];
while(!feof(in))
{
fread(buffer,1,1,in);
if(!feof(in))
fwrite(buffer,1,1,out);
}
fclose(in);
fclose(out);
og det virker perfekt.
Hilsen Martin
| |
Kent Friis (12-01-2003)
| Kommentar Fra : Kent Friis |
Dato : 12-01-03 18:50 |
|
Den Sun, 12 Jan 2003 17:33:00 +0100 skrev Martin Persson:
>Tak for svaret. Jeg har i mellemtiden brugt denne metode
>
>FILE *in = fopen(file, "rb");
>FILE *out = fopen(dest, "wb");
>
>char buffer[1];
>
> while(!feof(in))
> {
> fread(buffer,1,1,in);
> if(!feof(in))
> fwrite(buffer,1,1,out);
> }
>
>fclose(in);
>fclose(out);
>
>og det virker perfekt.
Perfekt er nok så meget sagt - du kan sætte læsehastigheden op (afhængig
af hvor intelligent din fread() er) ved at skifte 1 ud med fx 2048 eller
4096.
Mvh
Kent
--
You haven't seen _multitasking_ until you've seen Railroad
Tycoon II and Unreal Tournament run side by side
| |
|
|