MP3-Datei kopieren

  • Themenstarter Themenstarter Faliln
  • Beginndatum Beginndatum
F

Faliln

Hallo, erstmal zu mir:
-Ich nutzte Microsoft Visual c++ und habe Windows XP als Betriebssystem.

Ich versuche schon eine zeitlang Dateien zu kopieren und komme zu keinem guten Ergebnis:- (
Mein Code sieht so aus:

StreamReader ^sr = gcnew StreamReader("C:\\Dokumente und Einstellungen\\Andre\\Desktop\\Musik.mp3");
int x = sr->BaseStream->Length;
StreamWriter ^sw = gcnew StreamWriter("C:\\Dokumente und Einstellungen\\Andre\\Desktop\\Musik2.mp3");
Char g;
for(int i = 0; i< x; i++)
{
g = sr->Read();
sw->Write(g);
}
sw->Close();
sr->Close();
Close();

Auf meinem Desktop sollte nun eine perfekte Kopie der Mp3 Datei liegen, tut sie aber nicht :-(
Es wird zuwar eine Musik2.mp3 Datei erstellt, sie ist jedoch ca doppelt so groß wie das Orginal
und lässt sich nicht abspielen.

Kann mir bitte jemand den Fehler nennen ?
PS. Ich suche keine alternativ Lösung, wie zum Beispiel ein einfacher Kopierbefehl.
Danke für eure Antworten
 
Kleiner Nachtrag
Ist vielleicht Streamreader/writer falsch und ich muss den BinaryReader/writer nutzen?
 
Hi.
Kleiner Nachtrag
Ist vielleicht Streamreader/writer falsch und ich muss den BinaryReader/writer nutzen?
Ja, ein StreamReader ist eine Art TextReader. Damit liest man Zeichen in einer bestimmten Kodierung (z.B. UTF-8). Wenn du Binärdaten kopieren willst darfst du die Daten nicht umkodieren.

Nimm einen BinaryReader/-Writer.

Gruß

PS: Trotzdem noch alternativ: File.Copy()
 
Zuletzt bearbeitet:
Hi,
Wenn du Win32API hast,
verwende folgendes:
C++:
CopyFile("C:\\Dein erstes File.mp3","C:\\Kopie.mp3",false);
False heisst überschreiben,
true heisst lassen ;)
An alle neuen: vielen Dank für die Benutzung des Danke-Buttons
 
Zuletzt bearbeitet von einem Moderator:
@Brunlorenz: Wenn man schon eine .NET-Sprache verwendet, sollte man vielleicht auch .NET nutzen - sonst hat das Ganze irgendwie keinen Sinn.

Im übrigen hilft es nichts, in jedem zweiten Beitrag nach einem Danke zu betteln; vorallem da der Gastzugang keinen Danke-Button hat.
 
Zurück