vector in CopyFile()



  • Hallo,
    also ich haben in einem vector einige dateinamen eines ordners... diese will ich nun mit CopyFile() kopieren. allerdings nimmt das CopyFile meine vector ausgabe nicht an. falscher datentyp. kann mir einer weiterhelfen??

    #ifdef _MSC_VER
    #pragma warning(disable:4786)
    #endif
    
    #include <windows.h>
    #include <iostream>
    #include <vector>
    #include <string>
    #include <algorithm>
    
    using namespace std;
    
    int main()
    {
    
        vector<string> vDateinamen;
        HANDLE fHandle;
        WIN32_FIND_DATA wfd;
        fHandle=FindFirstFile("d:\\test\\*",&wfd);
        FindNextFile(fHandle,&wfd);
        while (FindNextFile(fHandle,&wfd))
        {
            if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
            {}
            else
            {
                vDateinamen.push_back(wfd.cFileName);
            }
        }
        FindClose(fHandle);
    
        for(int i=0; i < vDateinamen.size(); i++)
        {
            cout << vDateinamen[i] << endl;
            CopyFile("d:\\test\\" + vDateinamen[i], "d:\\test\\neu_" + vDateinamen[i], FALSE);
        }
    
    //  copy(vDateinamen.begin(), vDateinamen.end(), ostream_iterator<string>(cout, "\n"));
    
        return 0;
    }
    


  • ich kenn mich zwar nciht mit srting so richtig aus, aber ich denk mal CopyFile kann string nicht in char umwandeln.
    Entweder sstring hat ne Methode dazu oder du versuchst es mit sprintf oder so was ähnlichem.

    /edit:
    nochwas:
    Wahrscheinlich kann man string nicht mit char* addieren. vielleichet musst du erst ein string-OBjekt erzeugen, welches den anderen TExt beinhaltet.("C:\texte...) der so. Und dann die strings addieren und dann in char* umwandeln

    Gruß, Maxi

    [ Dieser Beitrag wurde am 17.06.2003 um 10:49 Uhr von Maxi editiert. ]



  • Alles in einen std::string reinpacken.
    Dann der funktion den string mittels std::string::c_str() übergeben.

    Devil


Anmelden zum Antworten