-
Split, find reverse Find
Bonjour,je travail sous visual studio c++, je parse un fichier contenant des noms de fichiers et des chemins de dossiers dans ce genre là :
file:/english-start.html;file:/appModeL.css;file:/lowResR.css;file:/lowResL.css;directory:/xml;file:/xml/empty;file:/hiResL.css;
Dans un premier temps je sépare chaque fichiers et dossiers via la fonction Split sur un ';'. J'obtiens un tableau de string du type :
string[1] = file:/english-start.html
string[2] = file:/appModeL.css ...
Maintenant, j'aimerai pouvoir ne conserver que les éléments contenant le mot directory pour pouvoir créer les dossiers à l'aide des chemins spécifié sur mon pc. J'ai essyé d'utiliser la fonction Find ou une sorte de reverse find me permettant de garder que ce qu'il y a à droite de directory: mais je n'y arrives pas!
Quelqu'un aurait'il un exemple de code utilisant la fonction Find ou bien une uatre méthode pour pouvoir différencier mes files de mes directories?
Merci.
-
tu utilises quoi comme objet ? un String^ .net ou un CString ? ou autre ?
-
J'utilise un string .net
engros je split comme ça :
String *content = row->get_Item(S"content")->ToString();
int i ;
System::String *Cop[];
System::Char sep[] = { ';' };
Cop = content->Split( sep );
for (i=0;i < Cop.Length ;i++)
{
Windows::Forms::MessageBox::Show(Cop[i]->ToString());
}
et apres je comptais dans ma boucle for faire un truc du genre.
if find (directories) dans Cop then dossiers=cop...
-
tu devrais essayer avec IndexOf
-
yep parfait indexOf et replace font parfaitement l'affaire merci.
Par contre j'ai un autre petit problème avec mes fichiers.
J'obtiens le nom de mon fichier sous la forme :
file:/images/vignettes/videoRight.jpg par exemple.
Comment puis-je faire pour dissocier le chemin du nom du fichier. C'est à dire obtenir :
file:/images/vignettes sous forme de string
videoright.jpg sous forme de string
Il n'existe pas quelque chose un peu comme le lastindexOf qui au lieu de me retourner -1 ou l'index me retournerai directement mon nom de fichier?
Merci.
-
tu devrais trouver ton bonheur dans la faq c++/CLI http://dotnet.developpez.com/faq/cpp...le#getnamefile
et dans le namespace System::IO::Path
-
Merci bien pour tes réponses.
Mais j'ai pu m'en sortir avec lastindexOf et substring.
Merci bien pour ta patience avec les c++.net noobs^^.