Nachricht austeilen



  • strtok()



  • ne sorry das hab ich nicht gerafft :S ich habe strtok() schon bei google gefunden aber nicht begriffen... bin noch nicht sehr lange an C++ dran.. leider aber komm da echt nicht weiter



  • Na dann such doch mal hier im Forum. Die Such-Funktion hat allein nach 20 Sekunden schon 11 Ergebnisse zu strtok, bevor ich sie abbrach....

    Ich selber hatte sogar schonmal die komplette Beschreibung zu strtok() aus einem C-Lehrbuch abgetippt, weil hier jemand behauptete strtok() würde die Einzelstrings nicht mit '' abschließen...

    Also, rechts oben auf suchen klicken, 'strtok' eingeben und warten was passiert....
    strtok (Anfänger...)

    [ Dieser Beitrag wurde am 21.06.2003 um 11:50 Uhr von Hepi editiert. ]



  • gebreifs leider imemr noch nicht 😞



  • Beispiel:

    char *ptr, *s1 = " 23.Okt.88 16:54:40";
    char s2 = " .:";  // Blank, Punkt, Doppelpunkt
    
    ptr = strtok(s1, s2);
    while(ptr != NULL)
        printf("\t%s", ptr), ptr = strtok(NULL, s2);
    
    /* Ausgabe:     23    Okt    88    16    54    40    */
    

    Jetzt verständlicher?

    Oder in Deinem Fall:

    buffer [] = "password<Das ist ein Text!";
    string[0] = strtok( buffer, "<"); // string[0] ist nun "password"
    string[1] = strtok( NULL, "<"); // da '<' nicht mehr im buffer vorkommt,
    // ist der komplette Rest von Buffer in string[1]!
    // also: string[1]= "Das ist ein Text"
    

    Allerdings solltest Du ein anderes Trennzeichen als <pw> verwenden (das sind nämlich 4(!!!) Trennzeichen! Nimm lieber nur ein Trennzeichen, wie z. B. '<' oder '>'... weil strtok() nicht mit mehreren Trennzeichen funktioniert (bzw. andere Ergebnisse liefert, als Du erwartest. In deinem Beispiel würden '<', 'p', 'w' und '>' aus dem String entfernt, sobald sie auftauchen!

    [ Dieser Beitrag wurde am 21.06.2003 um 12:40 Uhr von Hepi editiert. ]



  • ich bin zu blöde

    error C2059: Syntaxfehler : ']'
    C:\sm1\main.cpp(1213) : error C2065: 'string' : nichtdeklarierter Bezeichner
    C:\sm1\main.cpp(1213) : error C2109: Index benoetigt ein Feld oder einen Zeigertyp
    C:\sm1\main.cpp(1213) : error C2059: Syntaxfehler : ')'
    C:\sm1\main.cpp(1213) : error C2440: '=' : 'char *' kann nicht in 'int' konvertiert werden
    Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
    C:\sm1\main.cpp(1214) : error C2109: Index benoetigt ein Feld oder einen Zeigertyp
    C:\sm1\main.cpp(1214) : error C2440: '=' : 'char *' kann nicht in 'int' konvertiert werden
    Diese Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat
    Fehler beim Ausführen von cl.exe.



  • Fehlermeldungen ohne Code bringen nix.



  • buffer [] = "password<Das ist ein Text!";

    string[0] = strtok( buffer, "<")); // string[0] ist nun "password"
    string[1] = strtok( NULL, "<"); // da '<' nicht mehr im buffer vorkommt



  • ich empfehle dir mal dringend ein buch zu lesen, du scheinst keine ahnung von der sprache zu haben.



  • danke dir dennoch bei der hilfe



  • Original erstellt von dEUs:
    ich empfehle dir mal dringend ein buch zu lesen, du scheinst keine ahnung von der sprache zu haben.

    Das ist zwar hart ausgedrückt, ich stimme da mit Dir aber vollkommen überein!


Anmelden zum Antworten