pfad in CString wegschmeißen



  • Ich habe eine CString Variable "C:\Ordner\hallo.txt".
    Wie bekomme ich den Pfad weg, damit in meiner Variablen nur noch hallo.txt steht. Das müsste doch eingetlich ganz einfach sein, aber irgendwie steh ich auf dem Schlauch. Danke für eure Antwort.



  • CString TestString = "C:\Ordner\hallo.txt"
    TestString.Replace( "C:\Ordner\", "" );
    


  • Bringt leider nichts, da C:\Ordner nur ein Beispiel war und die Datei überall stehen kann. Die Datei kann auch einen unterschiedlich langen Dateinamen haben.



  • Das kann ich ja nich wissen... 😉

    Naja, zur Not geh in einer for-Schleife von rechts nach links jeden character im CString durch und merk Dir alle Zeichen bis zum ersten "\". 😃



  • hab ne besserer Möglichkeit gefunden
    string.ReverseFind('\');
    und dann schmeiß ich alles bis zum \ weg.



  • ..Kannst du damit was anfangen??

    //Von einem Pfad den Dateinamen herausfiltern :)
    int index = localfilename.ReverseFind('\\') ;
    	if (index == -1) 
    	{ 
    	   cout << "Cannnot find \\... Exiting\n";
    	   active = 0;
           return -1;
        }
    
    	CString remotefilename = localfilename.Mid( index + 1);
    

    lg l00P



  • Wie wärs denn wenn du ne while-schleife machst:
    [code]
    int count=0;
    int found=0;
    CString pfadneu;
    while(TestString.Find("/",count)!=-1) //Er soll solang suchen bis er / nicht mehr finden kann.
    {
    count++;
    }
    //Hiernach ist dann count mit der stelle des letzten / belegt.
    pfadneu=TestString.Right(count); //pfadneu belegen
    Ich hoffe das is gut so 😃 wenn nich frag halt nochma.


Log in to reply