CopyFile Problem

Hallasas

Erfahrenes Mitglied
Hallo, ich bins mal wieder...
Es liegt folgendes Problem vor:
C++:
#include <windows.h>

int main()
{
    char file_path[MAX_PATH];
    GetModuleFileName(NULL, file_path, sizeof(file_path));

    char windir[MAX_PATH];
    GetWindowsDirectory(windir, sizeof(windir));

    CopyFile(file_path, windir, TRUE);
    return 0;
}
MCoder hat mir schon gesagt, dass ich bei CopyFile den neuen Dateinamen "anhängen" muss, aber wie, weiß ich nicht...

Ich freue mich über eure Hilfe
Grüße Hallasas
 
Zuletzt bearbeitet von einem Moderator:
Du musst den Programmpfad (file_path) zerlegen und dann den Dateinamen und Extension an den Windows-Pfad anhängen.
C++:
#include <windows.h>
#include <stdlib.h>
#include <sstream>
 
int main()
{
    char file_path[MAX_PATH];
    GetModuleFileName(NULL, file_path, sizeof(file_path));

    char windir[MAX_PATH];
    GetWindowsDirectory(windir, sizeof(windir));

    char dir[MAX_PATH],
         fname[MAX_PATH],
         ext[MAX_PATH],
         drive[2];

    _splitpath(file_path, drive, dir, fname, ext); // Pfad zerlegen

    std::stringstream sstr;
    sstr << windir << "\\" << fname << ext;        // Dateinamen für das Ziel zusammenbauen

    CopyFile(file_path, sstr.str().c_str(), TRUE);

    return 0;
}
Gruß
MCoder
 
Zurück