M
so ich hab mir das mit der string klasse mal angesehen und den quelltext auf meine bedürfnisse angepasst(ja leider hab ich mir das nicht selbst ausgedacht...)
Ich hoffe, dass das so einem passablen Stil entspricht, falls das nicht so ist bin ich für weitere tips sehr dankbar!
//---------------------------------------------------------------------------
#include <string>
#include <algorithm>
#include <vector>
#include <vcl.h>
#include <dir>
#pragma hdrstop
#include <iostream>
#include <stdio>
#include <stdlib>
//---------------------------------------------------------------------------
#pragma argsused
using namespace std;
int Zerlegen(int i, const string& str, vector<string>& tokens,
const string& Trennzeichen = "\\");
int main()
{
string Pfad = "C:\\BoneRemo1\\Ordner\\UOrdner";
vector<string>::iterator ptr;
vector<string> tokens;
vector<string> ziel;
string ausgabe; // zum Zusammensetzen
int Size = 0; // für die Größe des Zielstrings
cout << Pfad << endl;
Size = Zerlegen(Size, Pfad, tokens);
ziel.resize(Size);
copy(tokens.begin(), tokens.end(), ziel.begin());
for (ptr = ziel.begin(); ptr != ziel.end(); ptr++)
{
ausgabe = ausgabe + *ptr + "\\";
_mkdir(ausgabe.c_str());
cout << ausgabe << endl;
}
cout << Size << endl;
getchar();
}
int Zerlegen(int i, const string& str, vector<string>& tokens,
const string& Trennzeichen)
{
string::size_type lastPos = 0;
string::size_type pos = str.find_first_of(Trennzeichen);
while (string::npos != pos || string::npos != lastPos)
{
// gefundenen Teilstring in Vector schieben
tokens.push_back(str.substr(lastPos, pos - lastPos));
// Trennzeichen überspringen
lastPos = str.find_first_not_of(Trennzeichen, pos);
// nächstes Zeichen finden
pos = str.find_first_of(Trennzeichen, lastPos);
i++;
}
return i;
}
liebe Grüße und nochmals vielen Dank!!