Leerzeichen vor und nach einem character entfernen ? c-prog mit gcc

Post Reply
Message
Author
equal

Leerzeichen vor und nach einem character entfernen ? c-prog mit gcc

#1 Post by equal »

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

sesame

#2 Post by sesame »

Irgendwie verstehe ich die Frage nicht. :-(

Ist die Angabe statisch im Code?
Dann nimm einfach die Leerzeichen raus. ;-)

Beschreibe bitte dein Problem einmal genauer.
Vielleicht mit etwas mehr Code, was du vorhast. Dann kann man dir besser helfen.

llllllllllllll

#3 Post by llllllllllllll »


pferdefreund
Posts: 35
Joined: 17. Apr 2007 16:55

#4 Post by pferdefreund »

2. Feld definieren
mit nem loop alle stellen von feld 1 nach feld2, so
nicht blank. Ein String ist nix anderes als ne 1.stellige Tabelle.
und aufhören, so die stelle feld1[x] 0 ist - Achtung 0 ohne ' '.

pcAlko
Posts: 70
Joined: 14. May 2007 19:27

#5 Post by pcAlko »

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.

Code: Select all

char test[]= " das ist ein test ";
char* begin= NULL;
char* ptr= test;

while(ptr != '\0')
{
    if(!begin && *ptr != ' ' )
        begin= ptr;
    ++ptr;
}
dann steht begin auf dem ersten Buchstaben vom Satz
und ptr am ende des Strings
und nun kommen noch die Leerzeichen am Ende weg:

Code: Select all

--ptr;
while(*ptr == ' ')
    --ptr;
++ptr;
*ptr= '\0'
voraus gesetzt Du hast natürlich einen String in deinem Test
ich habs nicht getestet,
aber so müsste es funktionieren.

8) pcAlko

Post Reply