mkdir C ++ - Funktion

7

Ich muss die Mkdir C ++ Funktion in VS 2008 verwenden, die zwei Argumente und ab VS 2005 veraltet ist.

Allerdings wird diese Funktion in unserem Code verwendet und ich muss ein eigenständiges Produkt schreiben (das nur die mkdir-Funktion enthält), um etwas zu debuggen.

Welche Header-Dateien muss ich importieren? Ich habe direct.h verwendet, der Compiler beklagt sich jedoch, dass das Argument keine 2 Argumente benötigt (Grund dafür ist, dass die Funktion in VS 2005 veraltet war).

%Vor%     
Bruce 01.05.2012, 18:42
quelle

4 Antworten

11

Wenn Sie plattformübergreifenden Code schreiben möchten, können Sie boost::filesystem routinen

verwenden %Vor%

Dies fügt zwar eine Bibliotheksabhängigkeit hinzu, aber wahrscheinlich werden Sie auch andere Dateisystemroutinen verwenden, und boost::filesystem hat dafür einige großartige Schnittstellen.

Wenn Sie nur ein neues Verzeichnis erstellen müssen und wenn Sie nur VS 2008 verwenden möchten, können Sie _mkdir() verwenden, wie andere bemerkt haben.

    
Tibor 01.05.2012, 18:45
quelle
7

Es ist veraltet, aber das ISO C ++ konforme _mkdir() hat es ersetzt, also verwenden Sie diese Version. Sie brauchen nur den Verzeichnisnamen, sein einziges Argument:

%Vor%

Hier ist der Prototyp von MSDN :

  

int _mkdir (const char * dirname);

    
Michael Goldshteyn 01.05.2012 18:45
quelle
6

Meine Cross-Plattform-Lösung (rekursiv):

%Vor%     
Francesco Noferi 10.09.2012 18:10
quelle
5

Heutzutage gibt es _mkdir() .

    
Electro 01.05.2012 18:45
quelle

Tags und Links