SwordMaster Geschrieben 10. Juli 2003 Geschrieben 10. Juli 2003 Ich müßte mit SHFileOperation dateien kopieren.... aber jedesmal wenn ich meinen Quellpfad in einer anderen Variable gespeichert habe und möchte ihn mit Op.pFrom=variable zuweisen, geht das kopieren nicht und kommt der Fehler: "Datei kann nicht kopiert werden: Die Quelldatei oder Quelldatenträger kann nicht gelesen werden". Die datei existiert jedoch! Kann mir jemand sagen was ich falsch mache!?1 SHFILEOPSTRUCT Op; Op.hwnd=m_hWnd; Op.wFunc=FO_COPY; char test[100]; strcpy(test,"c:\\test.bmp"); Op.pFrom=test; // wenn ich schreiben würde Op.pFrom="c:\\test.bmp"; dann //würde es gehn, aber wieeso??? Op.pTo="c:\\test2.bmp"; Op.fFlags=FOF_MULTIDESTFILES; Op.lpszProgressTitle="Test"; SHFileOperation(&Op); Kann mir jemand helfen?! ich häts schon mit einer CString variable probiert geht auch nicht, hab mal wieder keine ahnugn was ich falsch mache! Ciao SwordMaster Zitieren
Klotzkopp Geschrieben 10. Juli 2003 Geschrieben 10. Juli 2003 Laut MSDN können pTo und pFrom mehrere nullterminierte Namen enthalten. Das Ende muss daher mit zwei Nullzeichen markiert werden. Mit strcpy geht das grundsätzlich nicht, weil es beim ersten Nullzeichen aufhört zu kopieren. Hier sollte es aber ausreichen, wenn du dein Array mit Nullen initialisierst: char test[100] = {0}; Das hier: Op.pTo="c:\\test2.bmp"; müsste eigentlich so aussehen: Op.pTo="c:\\test2.bmp\0"; Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.