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
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";
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden