Archive for the ‘ C ’ Category

c: trim Funktion 2.0

Dies ist die weiterentwickelte Version meiner alten Trimunktion. Diese Version arbeitet nur mit einem Parameter. Ich habe die alte Version trotzdem behalten, falls ich den “ungetrimten” String trotzdem behalten möchte…

Weiterlesen

C: String mit einer Funktion toupper() oder tolower()

Mit toupper() oder tolower() kann man in C ganz einfach ein Zeichen gross oder klein schreiben. Wenn ihr jetzt aber einen ganzen String habt, müsst ihr immer mühsam eine Schleife bauen und jedes Zeichen gross oder eben klein schreiben…
Um mir diese Mühe zu ersparen, habe ich mir zwei kleine Funktionen geschrieben, die ich doch wie immer gerne mit euch teile :D

Weiterlesen

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 :P

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 :D