ordner mit unterordnern erstellen | edit: const char einlesen ?
-
1. wie erstellt man einen Ordner mit unterordnern mit angegebenem Pfad.
~gelöst mit direct.h und _mkdir~2. wie copiert man dateien ohne system("xcopy ...")
ich will nämlich praktisch eine art "fake installer" mir bauen, so kommt das alles ein bisschen cooler rüber und man kann es auf dem pc speichern.
ich hab nur keine Ahnung wie man das macht, und da ich hier immer gute antworten bekomme...danke im voraus
-
#include <cstdlib> #include <iostream> #include <direct.h> #include <windows.h> #include <string> #include <sstream> using namespace std; int main(int argc, char *argv[]) { string path; char* pathchar; stringstream stream; cout<<"CodeX Installer 1.0\n\n"; cout<<"Bitte Pfad angeben (zb. C:\\CodeX v17)\n"; getline (cin, path); stream << path; stream >> pathchar; stream.clear(); _mkdir(pathchar); cin.get(); return EXIT_SUCCESS; }stürzt mit einem Windows error ab wieso ?
-
Benutze doch die WinAPI, die hat dafür extra Funktionen wie CopyFile, CreateDirectory, etc.
Simon
-
1. kann ich ein beispiel für creatdirectory haben ?
2. ich glaube gehört zuhaben, dass create directory keine unterordner erstellen kann
-
-
wenn ich es mit create directory versuche fehlen mir argumente
WINBASEAPI BOOL WINAPI CreateDirectoryA(LPCSTR,LPSECURITY_ATTRIBUTES);
to few argumentsda muss der pfad drinstehen und was noch ?
-
Lies bei msdn nach.
-
wenn ich mkdir mit createdirectory tausche stürzt er auch ab warum ?
getestete Pfade:
C:\hallo
C:\Programme\hallobei beidem stürzt er ab
auch bei C:\\Hallo
es lag nicht an creatdirectory sondern an der umwandlung mit dem Stringstream
kann ich auch einen char* (const char) einlesen lassen, das würde die umwandlung sparen
-
Du solltest vielleicht dran denken, für den
char*genügend Speicher anzufordern.Oder du machst es gleich auf C++-Weise:
std::string path; std::cin >> path; _mkdir(path.c_str());