führende "0" aus zeichenkette entfernen <meinung gefragt>
-
Also ich meine eine führende char(0) oder auch '\0'. Soll laud Thread beides weg.
-
aso hab mir nicht ganz durch gelesen!
mfg hohesC
[edit]er schrieb aber von "0" so einer null!!! naja egal..[/edit]
-
Höö? Ist doch egal ob char oder int oder long ode double oder bool... 0=false
int main() { char test = '\0'; if(test) { printf("%s", "true"); } else { printf("%s", "false :P"); } }
edit:
if ( sero[i] != '0' && sero[i] != '\0' || t>0 )
Ist aus seinem Source...
-
Du blickst es nicht!
Ich habs überflogen und dachte er wollte die
char c='0';
nullen raushaben!!!
und die liefert nicht null sondern den int wert 48!!!mfg hohesC :p
-
Er will beides raus.
-
hab ich jetzt auch bemerkt
-
FireFlow schrieb:
Er will beides raus.
Wollen kann man viel. Ob's sinnvoll ist, ist eine andere Sache. ( wir sprechen von Zeichenketten, ofmals auch 0-terminierte char-arrays genannt ).
Kurt
-
char *kill_the_nulls (char* s) { while (*s && *s == '0') s++; return s; } int main() { char *s = "000102"; printf("%s\n", kill_the_null(s)); }
-
Na wenn Du einfach Vornullen aus ´nem "Char*" entfernen willst um ein "int" zu kriegen, sollte es eigentlich "atoi(char*)" machen. Wenn du´s später wieder wandeln willst, gibt´s ´ne Menge Möglichkeiten
"itoa()", "sprintf()" .
Letztes formatiert es Dir dann auch wieder.
-
ZuK schrieb:
FireFlow schrieb:
Er will beides raus.
Wollen kann man viel. Ob's sinnvoll ist, ist eine andere Sache. ( wir sprechen von Zeichenketten, ofmals auch 0-terminierte char-arrays genannt ).
Stimmt, aber man kann C abgewöhnen, sowas unter einer Zeichenkette zu verstehen. Prinzipiell geht das, die Infrastruktur (strn..) ist vorhanden, nur muß man sich extra Arbeit machen; darum versagen manche Programme unter Unix auf typischen Binärdateien, obwohl es die ja eigentlich gar nicht gibt.