String in Komplette Großbuchstaben umwandeln

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
  • Hey Leute, wie die Überschrift schon sagte möchte ich einen String so formatieren, dass er alle kleinen Buchstaben in große ändert.


    Also:
    "aBcdE" wird zu "ABCDE"
    "abcde" wird zu "ABCDE"
    "ABcDE" wird zu "ABCDE"


    usw.


    Ich hab mal irgendwo von so einer Funktion gelesen, finde jedoch nix mehr.
    Kann mir jemand helfen?


    Danke schonmal :thumbup:

    Einmal editiert, zuletzt von Alexus ()

  • Von jemanden namens Ramjet, aus YSI kopiert:

    #define chrtoupper(%1) \
    (((%1) > 0x60 && (%1) <= 0x7A) ? ((%1) ^ 0x20) : (%1))


    stock strtoupper(string[])
    {
    new
    retStr[MAX_STRING],
    i,
    j;
    while ((j = string[i])) retStr[i++] = chrtoupper(j);
    retStr[i] = '\0';
    return retStr;
    }

  • Ich check das zwar nicht, aber danke! :thumbup:


    /edit:
    Doch wie verwende ich das?
    Mach ich so etwas falsch? Ich hab nämlich 7 Errors ^^


    format(NeuesKennzeichen[playerid], 10, "%s%s", NeuesKennzeichen[playerid], strtoupper(inputtext));

  • Ich hatte oben editiert.


    Habe nun folgendes Problem. Ich benutze die Funktion so:
    format(NeuesKennzeichen[playerid], 10, "%s%s", NeuesKennzeichen[playerid], strtoupper(inputtext));


    Wenn ich diese Zeile ausklammer habe ich keine Errors. Doch mit gleich 7. Benutze ich sie falsch? Ist doch eig wie du oben gesagt hast 8|

  • In der Funktion dürfen bei dem new scheinbar keine Zeilenumbrüche.
    Also so denke ich:
    stock strtoupper(string[])
    {
    new retStr[MAX_STRING], i, j;
    while ((j = string[i])) retStr[i++] = chrtoupper(j);
    retStr[i] = '\0';
    return retStr;
    }


    Errors:


    Jetzt sind schon nur noch 4 Errors die ich auch wegbekomme, indem ich MAX_STRINGS definiere.
    Aber wie soll ich es definieren? ^^


    /edit:
    So habe ich NeuesKennzeichen erstellt: (Tut aber nix zur Sache)
    new NeuesKennzeichen[MAX_PLAYERS][10];

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen