Mehrere Ordner erstellen - ohne zu überschreiben
-
Hallo,
ich wollte mal fragen wie ich in c++ mehrere Ordner in einem Ordner erstellen kann, ohne sie zu überschreiben.
Ich denke, dass ich dafür mehrere Ordnernamen benötige...
#include <iostream> #include <dir.h> int main() { _mkdir("C:\\Testordner"); int nummer(1); int anzahl(20); for(int i(0); i < anzahl; i++) { _mkdir("C:\Testordner\\Test"); //nach Test soll die Variable "nummer" stehen nummer++; } }
...nur weiß ich nicht, wie die Variable "nummer" nach Test als Ordnername gebraucht werden kann.
-
1. Standard C++ kennt keinen Ordner und kann auch keine erstellen.
2. <dir.h> ist kein Standard C++ Header.
3. FAQ: http://www.c-plusplus.net/forum/viewtopic-var-t-is-39488.htmlGrüssli
-
Heißt das dann, dass der Code in C und nicht C++ ist?
PS: Bei mir wird der Ordner erstellt.
-
Dein Code ist nicht einmal Standard C.
mkdir
ist, soweit ich mich erinnere, ein Unix C Header.Es gibt halt dafür weder in Standard C noch Standard C++ Möglichkeiten. Unter C++ wird, glaub ich, meistens Boost.Filesystem verwendet, wenn man mit dem Filesystem arbeiten möchte. Ist auch garantiert platformunabhängig, gut durchdacht, getestet und in schönem C++.
Grüssli
-
Die einfachste Lösung (wenn auch unsauber) wäre sprintf zu verwenden:
char nameBuffer[1024]; // grösse muss halt ausreichen, wird aber nicht gecheckt, // wenn zu klein machts *bumm* - das ist der "unsaubere" teil hier sprintf(nameBuffer, "C:\\Testordner\\Test%d", nummer); _mkdir(nameBuffer); nummer++;
Das ist zwar auch "nicht C++", aber es passt zum Rest deines Codes, und es ist einfach
-
@hustbaer,
Schau dir mal den FAQ Link anGrüssli
-
Ich bedanke mich für beide Lösungsvorschläge. Echt schnelle Antworten!
PS: Sorry, dass die Rückmeldung etwas später kommt...