Strings zerlegen

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Zavus Leutz,


    wie kann man einen String zerlegen? also in einzelne buchstaben/zahlen/zeichen? Weis das jemand?
    und hab da noch ne andere frage. was bedeutet eigendlich die zahl in den strings? also z. b. bei string[100]; wieviel buchstaben/sonstiges passt da rein?


    MfG
    Psycho

  • hab ich mir gedacht ^^ das mit den zeichen meine ich danke sehr.


    kann ich n string auch in einzelne zeichen zerlegen?

  • ich glaub du weis nich genau was ich meine black fox. ich meine jetzt:


    Wenn ein Admin seinen Namen ingame ändern möchte z. B. zu >Franz< dann heist "NeuerName[16] = >Franz<;", dass man jetzt den Namen in jeden einzelne Zeichen zerlegt. da < und > ja bei samp im namen nicht erlaubt sind kann man das so dann gleich überprüfen und eine fehler meldung zurück schicken. Kapiche? ^^

  • nein, vllt n bissel anders erklären


    du hast in einem string "Hallo" gepseichert und möchtest das wort in jedes zeichen /in jedes bestandteil so das man am ende hab ich dann einzeln "H", "a", "l", "l", "o" und ja.
    habs mir mal selber überlegt und habs mit diesem test cmd ausprobiert:
    if (strcmp("/test", cmdtext) == 0)
    {
    new string[100], teststring[6];
    teststring = "Hallo";
    format(string, sizeof(string), "%s", teststring[2]);
    SendClientMessage(playerid, rot, string);
    }das ergebnis ist dann aber leider entteuschend mit "llo" =( ich wollte damit eigendlich jetzt das "a" erreichen


    // Edit: Okay das ich das l statt das a erreicht habe hab ich jetzt verstanden ^^ geht ja 0 = H, 1 = a, 2 = l... aba das ich nicht den einzelnen buchstaben erreicht habe find ich traurig =(

  • ahhh danke, und wie kann ich den gesamten text auslesen lassen und somit rausfindne wie viele wörter vorhandne sind? wegen sscanf(string,"%s %s",str1,str2); von BattleMaster

  • Probiers hiermit, habs eben gebastelt:


    forward CountWords(const str[]);
    public CountWords(const str[])
    {
    new pos = 0;
    new count = 0;
    new bool:counted;
    while(pos < strlen(str))
    {
    if(str[pos++] != ' ')
    {
    if(counted == false)
    {
    counted = true;
    count++;
    }
    }
    else
    {
    counted = false;
    }
    }
    return count;
    }


    Verwendung:


    printf("Wort Anzahl: ",CountWords(" Das sind Vier Wörter "));


    Have Fun ^^

    Mfg. BlackFoX_UD_ alias [BFX]Explosion