Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » filename von path trennen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
06.07.2006, 03:19 Uhr
central



Guten Morgen ,
Ich habe mehrere Strings die sich in der Länge unterscheiden,
und brauche aber nur das letzte vorkommen des Strings

Code:
/lib/meinfile
/usr/src/meinbin
/home/me/nochwas


ich möchte als ausgabe

Code:
meinfile
meinbin
nochwas



Wäre nett wenn mir jemand sagen konnte wie ich das anstellen muss bzw, mit welcher
Funkiton das zu erreichen ist.

gruß

central
--
no trouble no fun

Dieser Post wurde am 06.07.2006 um 03:19 Uhr von central editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
06.07.2006, 03:51 Uhr
CppProgrammer




C++:
#include <string>
using namespace std;

void CutAt(char CutAt, string &str)
{
    int Find1 = str.find(CutAt, 0), Find2=Find1;
    while(Find2 != -1){
        Find2 = str.find(CutAt, Find2+1);
        if(Find2 == -1) break;
        else Find1 = Find2;
    }
    int length = str.length();
    string str1;
    for(int i=Find1+1; i!=length; ++i)
        str1 += str[i];
    str = str1;  
}


Dieser Funktion kannst du dann einfach deinen string übergeben
zB.

C++:
string str = "hmm/test.txt";
CutAt('/', str);


dann sollte jetz in der Variable str nur noch test.txt stehen.

Dieser Post wurde am 06.07.2006 um 03:52 Uhr von CppProgrammer editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
06.07.2006, 08:54 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


kann man doch auch z.b basename benutzen, macht doch auch nix anderes als splitten.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
06.07.2006, 09:03 Uhr
ao

(Operator)


In C++: Mit std::string::find_last_of() nach dem letzten Slash suchen und mit std::string::substr() den Teilstring nach dem Slash extrahieren.

In C: strrchr zum Suchen, strlen und strcpy zum Extrahieren.

@FloSoft: basename ist OpenBSD oder irgendwas anderes Unixartiges, oder?

Bearbeitung von ao:
Nach den Quellstrings zu urteilen hat er Linux oder sowas. Vergiss den Einwand.


ao

Dieser Post wurde am 06.07.2006 um 09:04 Uhr von ao editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
06.07.2006, 09:33 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat von ao:

@FloSoft: basename ist OpenBSD oder irgendwas anderes Unixartiges, oder?

Bearbeitung von ao:
Nach den Quellstrings zu urteilen hat er Linux oder sowas. Vergiss den Einwand.


ao


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
06.07.2006, 15:25 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Dann schlagt euch doch drum, dann ist es das falsche Forum
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
06.07.2006, 16:04 Uhr
central



Vielen Dank euch allen,
basename ist ideal. shön einfach und simpel

gruß

central
--
no trouble no fun
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: