_mkdir Einen vom Benutzer angegebener Ordner soll erstellt werden.
-
Nabend!
Wie die Überschrift schon verrät:
möchte ich mit _mkdir einen Ordner erstellen, den der Benutzer bzw Anwender
vorher eingibt.Mir ist klar das man vorher was deklariert und mit
cin
dann die Eingabe abfängt jedoch weiss ich nicht wie??
??? _mkdir ("????");
ps:JA ich habe gegoogelt, JA ich habe die Suche benutzt, JA ich habe mich umgeschaut, JA ich habe dieses Problem schon durchdacht JA ich habe in einem Buch nachgeschaut JA ich habe NOCHMAL gegoogelt!!!
-
such in der forensuche, da kommen massen zu mkdir.
header:
linux
#include <sys/types.h>
#include <sys/stat.h>win
#include <dir.h>
-
Wie man Ordner erstellt habe ich schon raus
(Dank der Forensuche und Googel).Habe schon mehrmahls gesucht habe auch was gefunden klappt wunderbar, jedoch war es nicht das wo nach ich gesucht habe!!
Möchte das man im Konsolen Fenster was eingeben kann und diese dann als Ordner speichert.
kann doch gar nicht schwer sein, man muss nur die richtig Sonderzeichen setzten nur weiss nicht wie
!!
-
lordcesarius schrieb:
Möchte das man im Konsolen Fenster was eingeben kann und diese dann als Ordner speichert.
Und wo genau ist jetzt dein Problem? Soll in der Konsole der Name eingegeben werden, unter dem der Ordner dann gespeichert wird? Das kannst du mit
Ordnername.c_str()
machen
-
Ok
ein kurzer Beispiel-Code würde mir dann schon eher Helfen.
Danke
-
include <iostream> #include <string> #include <direct.h> int main(){ std::string ordnername(""); std::cin >> ordnername; _mkdir(ordnername.c_str()); return(0); }
Eingabe bsp.: C:\\Test
-
Na toll hätte ich das mal gewusst, dass man "string" hätte verwenden sollen.
bei mir sah das schon von anfang an so aus:#include <iostream> #include <string> #include <direct.h> using namespace std; int ordnername; int main(){ cin >> ordnername; _mkdir(ordnername.c_str()); return(0); }
ja dann ist klar
wie kommt es das meins nicht klappte???
-
weil int der Datentyp für eine Zahl ist und nicht für einen String (Zeichenkette)
-
mist!Hätte ich wirklich wissen müssen.
-
wie kann ich dann einen Unterordner erstellen?
bzw. möchte hätte ich gerne das der neue Ordner unter einem bereits vorhandenen Ordner abspeichert.
-
Da könntest du aber auch selber drauf kommen. Das hat nichts mit dem Programm zu tun, sondern wie du den Pfad im Programm eingibst.
z.B. wenn der bereits vorhandene Ornder "Bilder" heißt
C:\\Bilder\\NeuerOrdner
-
:p Das ist mir schon klar ^^
habe ich mich etwas ungeschickt ausgedrückt.Meine natürlich, dass wenn ein Ordner bereits vorhanden ist (Bilder) ich mit "_makedir" einen Unterordner darin erstellen kann.Dieser soll aber vom benutzer selber angegeben werden.
habe mir da schon gedanken gemacht:
_mkdir("bilder\" ordnername.c_str());
_mkdir(""bilder\" ordnername.c_str()");
_mkdir("bilder\" *ordnername.c_str());......
funzt aber alles nicht
??
geht das überhaupt mit _makedir?
-
Meinst du sowas?
#include <iostream> #include <string> #include <direct.h> int main(){ std::string ordnername(""); std::string pfad("C:\\Bilder\\"); std::cin >> ordnername; pfad.append(ordnername); _mkdir(pfad.c_str()); return(0); }
Ansonsten verstehe ich echt nicht wie du das meinst.
-
Also ich möchte deine c++-Fähigkeiten nicht in Frage stellen aber, was passiert bei dir, wenn du diesen Code eingibts und dann ausführst?
egal was ich dann eingebe er erstellt keinen Unterordner im Ordner Bilder.
(was ich gerne hätte ist das wenn ein Ordner bereits vorhanden ist, das ich dann in diesen einen Unterordner erstellen kann.Der Namen des unterordners soll vom Anwender bestimmt werden.)
-
lordcesarius schrieb:
Also ich möchte deine c++-Fähigkeiten nicht in Frage stellen aber, was passiert bei dir, wenn du diesen Code eingibts und dann ausführst?
Ich hab das jetzt in der Arbeit und Zuhause getestet, und bei mir funktioniert es, dass im bereits vorhandenen Ordner Bilder, ein Unterordner erstellt wird.
-
#include <iostream>
using namespace std;
int main()
{
string text;
cout << "Ordner -->"; cin >> text;system((("md C:\\Bilder\")+text).c_str());
return 0;
}
-
#include <iostream> using namespace std; int main() { string text; cout << "Ordner -->"; cin >> text; system((("md C:\\Bilder\\")+text).c_str()); return 0; }