C: Trim Funktion
Standartmässig gibt es in der Programmiersprache C keine Funktion trim(), mit der man die Leerschläge vor und nach einem String entfernt. Desshalb habe ich meine eigene geschrieben, und möchte diese hier mit euch teilen
Achtung: Es existiert bereits eine Version 2.0!
Hier der Code:
char* trim(char* eing, char* ausg) { // By Matthias Dunkel, www.DeDu.ch int strAnfang, strEnde, x, y; int lnge = strlen(eing); for(x=0; x<lnge; x++) { if(eing[x] != 32) { strAnfang = x; break; } } for(x=lnge; x>strAnfang; x--) { if(eing[x] != 32 && eing[x] != 0) { strEnde = x+1; break; } } y=0; for(x=strAnfang; x<strEnde; x++) { ausg[y] = eing[x]; y++; } ausg[y] = '\0'; return ausg; }
Aufgerufen wird die Funktion wie folgt:
char foo[] = " Hallo miteinander! "; char bar[]; trim(foo, bar);
In bar steht jetzt “Hallo miteinander!” (Ohne die Leerschläge).
Auch möglich ist:
char foo[] = " Hallo miteinander! "; trim(foo, foo);
foo ist jetzt “Hallo miteinander!” (Ohne die Leerschläge).
Auch der direkte Aufruf ist möglich:
char foo[] = " Hallo Du!!! "; printf("%s\n", trim(foo, foo));
foo ist nun “getrimt” und wird direkt ausgegeben.
Bei Fragen einfach einen Kommentar schreiben.
Viel Spass