Problem mit mindest Zeichenkette

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
  • Der Rangname String ist nur 24 Zeichen groß, somit kann er nie mehr als 24 Zeichen lang sein. Im Endeffekt 23, wegen dem EOS Char, daher wird die Abfrage nie wahr. Erhöhe die Größe von Rangname, auch in sscanf.

    Mhmm, das ist doch eigentlich total egal. Ich will das Max. nur 24Zeichen die Rangnamen haben können.
    Nur kann ich über die 24 gehen, warum?

  • Nein, das ist nicht egal. Wenn das Array nur eine Größe von 24 Zeichen hat (wovon eines das EOS Zeichen ist), dann kannst du nur 23 Zeichen dort rein packen (mehr geht nicht).
    Du kannst zwar mehr eingeben, es wird aber nicht mehr in der Variable drin stehen.


    Daher kann strlen davon auch nicht größer als 23 werden, somit ist >= 24 nie wahr.


    Ändere das Rangname[24] zu Rangname[25], und in sscanf das [24] zu [25], dann sollte es klappen.



    EDIT: (Post unten)
    Equ: Gerne ;)

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

  • Nein, das ist nicht egal. Wenn das Array nur eine Größe von 24 Zeichen hat (wovon eines das EOS Zeichen ist), dann kannst du nur 23 Zeichen dort rein packen (mehr geht nicht).
    Du kannst zwar mehr eingeben, es wird aber nicht mehr in der Variable drin stehen.


    Daher kann strlen davon auch nicht größer als 23 werden, somit ist >= 24 nie wahr.


    Ändere das Rangname[24] zu Rangname[25], und in sscanf das [24] zu [25], dann sollte es klappen.


    Stimmt, sorry Jeffry hab jetzt schon eine ewigkeit nicht mehr Gescriptet. Komme langsam aber sicher wieder rein.
    Werde es später mal zuhause probieren, und meinen Beitrag hier dann Editieren falls es Funktionieren sollte!



    MFG



    Jeffry


    Danke dir, dank deiner Hilfe habe ich dieses Problem beheben können und wieder was dazu gelernt!



    bzw. Das verlernte wieder erlernt :D

    Einmal editiert, zuletzt von Equ ()