Createdirectory



  • Hallo!

    ich beschäftige mich gerade mit der Verzeichniserstellung und muss leider feststellen, dass es nicht so funktioniert wie ich es mir vorstelle.

    Das ist mein Quellcode. Beim Ausführen passiert nichts.

    #include "stdafx.h"
    #include <iostream>
    #include <windows.h>
    
    using namespace std;
    
    int main()
    {
        char path[] = "C:\\cpp\\testabc";
        CreateDirectory(
            (LPCTSTR) path,
            NULL
        );
    	cin.get();
    	cin.get();
    	return 0;
    }
    

    Unter Dev-Cpp funktioniert dieser Code und erstellt den Ordner. Meine Frage daher was im Oberen (Visual C++ Standard Edition) falsch ist?

    char path[] = "C:\\cpp\\testabc";
        CreateDirectory(
            path,
            NULL
        );
    

    Ich habe den String mehrmals editiert um sicherzustellen dass es nicht daran hängt. Bei der Stringauswahl muss immer \\ gesetzt sein.. Das ist klar.

    Kann mir jmd. helfen?

    Gruß



  • hat sich soeben erledigt.
    Createdirectory wird in Dev-Cpp als ANSI eingelesen. VS ließt es als Unicode ein.

    ich habe in VS Createdirectory ein A hinzugefügt.

    CreateDirectoryA(
        path,
        NULL
    );
    

    http://msdn.microsoft.com/en-us/library/aa363855(VS.85).aspx

    Gruß


  • Mod

    Besser wäre die TCHAR Notation, die macht Dein Programm kompatibel.

    #include "stdafx.h" 
    #include <iostream> 
    #include <windows.h> 
    
    using namespace std; 
    
    int main() 
    { 
        TCHAR path[] = _T("C:\\cpp\\testabc"); 
        CreateDirectory( 
            path, 
            NULL 
        ); 
        cin.get(); 
        cin.get(); 
        return 0; 
    }
    

Anmelden zum Antworten