String-Zerlegung
-
Hallo, ich brauch ein wenig Hilfe bei der Zerlegung von strings.
Ich will eine Eingabe, die folgendermaßen aussieht zerlegen!
c:\verzeichnis1\verzeichnis2\tuwas.exeIch möchte folgende Ausgaben haben:
Festplatte : c:
Verzeichnis1 : verzeichnis1
Verzeichnis2 : verzeichnis2------- soll solange laufen bis kein unterverzeichnis mehr vorhanden-------
Verzeichnis n : verzeichnis n
Datei : tuwas.exeHabe schon mal so angefangen:
void eingabe(char* Text) { int i = 0; int a = 0; cout << "Bitte geben Sie ein Verzeichnis an: " << endl; cin >> Text; std::string verzeichnis(Text); for (i=0;i<=verzeichnis.find(":");i++) { Text[i]; } }
Leider weiss ich jetzt nicht mehr weiter.
Kann mir jemand helfen?
THX asterix
-
Ich hätte das nach C++ gepostet.
-
Jo stimmt, bin wohl im falschen Forum. Kann der Moderator den Beitrag bitte verschieben? Thx Asterix
-
habs auf die schnelle mal mit vectoren gemacht, kannst aber ganz einfach
mit strings verwendenchar *str = "C:\\test\\subdir\\file.exe"; char *start = str; char *end = str; std::vector<std::vector<char> > buff; while (end) { end = strstr(start, "\\"); if (end) buff.push_back(std::vector<char>(start, end)); else buff.push_back(std::vector<char>(start, start + strlen(start))); buff.back().push_back(0); start = end + 1; }
inhalt:
[0] = C:
[1] = test
[2] = subdir
[3] = file.exe