Charkette
-
Ich möchte das letzte Zeichen einer Char-Zeichenkette(char hallo[100]) löschen.
Dazu müsste man zuerst die Länge rausfinden und dann das letzte löschen.
Kleines Problem:
Wie geht das ?
-
Die Funktion strlen() liefert dir die länge bis zum ersten '\0'-Zeichen
-
und mit strncpy() kannst es dann in eine neue zeichenkette kopieren.
-
thanks()
-
miller_m schrieb:
und mit strncpy() kannst es dann in eine neue zeichenkette kopieren.
Warum den nochmal die ganze Zeichenkette kopieren?char hallo [100]; SetzeString ( hallo ); hallo [ strlen ( hallo ) - 1 ] = 0;
-
klar würde auch gehen, ist mir nur als erstes in den sinn gekommen,
aber wenn dann '\0'
-
miller_m schrieb:
aber wenn dann '\0'
ist das nicht das selbe wie 0
-
flenders schrieb:
miller_m schrieb:
aber wenn dann '\0'
ist das nicht das selbe wie 0
mmhh nach einem test hab ich festgestellt es ist das selbe. mein fehler.
aber noch nie gesehen bzw. angewandt. jetzt wo ich sehe finde ich das es den
code schwerer lesbar macht. denn ein '\0' ist für mich eindeutiger.
-
Dieser Thread wurde von Moderator/in cd9000 aus dem Forum WinAPI in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
miller_m schrieb:
mmhh nach einem test hab ich festgestellt es ist das selbe. mein fehler.
aber noch nie gesehen bzw. angewandt. jetzt wo ich sehe finde ich das es den
code schwerer lesbar macht. denn ein '\0' ist für mich eindeutiger.wenn ich mich nicht ihre setzt \0 alle Bits eines chars auf 0
ein signed int muss nach dem Binären System repräsentiert werden - danch wäre \0 und der Wert 0 (nicht das Zeichen '0') das gleiche...
-
Da es irgendwie zum Thema passt und ich mich immer noch vor Lachen bepissen könnte wenn ich den Thread lese... Click