hi,
ich habe folgende var:
char test[]=" das ist ein test ";
wie bekomme ich die Leerzeichen vorne und hinten weg, so dass nur noch "das ist ein test" da steht ?
Danke und Grüße
Leerzeichen vor und nach einem character entfernen ? c-prog mit gcc
-
- Beiträge: 35
- Registriert: 17. Apr 2007 16:55
hallo equal!
ich sehe schon,
du bist seit Oktober nicht sehr weit gekommen.
Also ein bischen grundlagen sind da von nöten
dann funktioniert auch das suchen der Zahlen in deinem letzten Thread.
Also bei C gibt es keine Strings,
da definiert man ein character array
mit dem Befehl char test[]=" das ist ein test ";
definierst Du [ ][d][a][s][ ][s][t][ ][e][n][ ][t][e][s][t][ ][\0]
also 19 character wenn ich richtig gezählt habe.
der letzte ist ein NULL terminierter character, damit man weiß wo das Ende ist.
mit einer Schleife kannst Du nun durch das Array Iterieren.
vorher würde ich noch 2 pointer definieren.
dann steht begin auf dem ersten Buchstaben vom Satz
und ptr am ende des Strings
und nun kommen noch die Leerzeichen am Ende weg:
voraus gesetzt Du hast natürlich einen String in deinem Test
ich habs nicht getestet,
aber so müsste es funktionieren.
pcAlko
ich sehe schon,
du bist seit Oktober nicht sehr weit gekommen.
Also ein bischen grundlagen sind da von nöten
dann funktioniert auch das suchen der Zahlen in deinem letzten Thread.
Also bei C gibt es keine Strings,
da definiert man ein character array
mit dem Befehl char test[]=" das ist ein test ";
definierst Du [ ][d][a][s][ ][s][t][ ][e][n][ ][t][e][s][t][ ][\0]
also 19 character wenn ich richtig gezählt habe.
der letzte ist ein NULL terminierter character, damit man weiß wo das Ende ist.
mit einer Schleife kannst Du nun durch das Array Iterieren.
vorher würde ich noch 2 pointer definieren.
Code: Alles auswählen
char test[]= " das ist ein test ";
char* begin= NULL;
char* ptr= test;
while(ptr != '\0')
{
if(!begin && *ptr != ' ' )
begin= ptr;
++ptr;
}
und ptr am ende des Strings
und nun kommen noch die Leerzeichen am Ende weg:
Code: Alles auswählen
--ptr;
while(*ptr == ' ')
--ptr;
++ptr;
*ptr= '\0'
ich habs nicht getestet,
aber so müsste es funktionieren.
