Forum: Compiler & IDEs Substring in GCC???


von Marcus (Gast)


Lesenswert?

Hallo

gibt es eine string klasse wo ich aus einen Char Array ein bestimmtes
Zeichen  oder mehrer extrahieren kann und in ein neuses zu
speichern???

finde nichts in den C String klassen für den gcc unter linux nutze ich
die ANSI C Classen da gibts sowas wie substring geht dort prima aber in
der GCC finde ich nichts.


Danke

von Wolfgang Horn (Gast)


Lesenswert?

Hi, Marcus,

kommt mir aus Qt bekannt vor, in C benutze ich Funktionen wie "char
*strchr( const char *string, int c )" und "char *strcpy( char
*strDestination, const char *strSource )"

Ciao
Wolfgang Horn

von Martin #. (martin-)


Lesenswert?

>>C String klassen
>>ANSI C Classen
Marcus, obwohl jeder weis was du meins, es gibt keine Klassen in C, es
gibt auch keine Methoden

von Marcus (Gast)


Lesenswert?

Hallo

Ja dann sind es eben Funktionen habt ja recht.

Also muß ich mal pit der unsauberen Sache es Probieren

Char src[100];
Char dest[5];

dest[0]=src[4];
dest[1]=src[5];
dest[2]=src[6];
dest[3]=src[7];
dets[4]='\0';

das sollte ja auch gehen.

mir wäre ja eine Funktion wie dest=substring(src,startpos,länge);

die giebt es ja unter linux ANSI C dürfte das sein die arbeiet mit
STRINGS.

von Martin #. (martin-)


Lesenswert?

>>mir wäre ja eine Funktion wie dest=substring(src,startpos,länge);
Das lässt sich in c so nicht programieren. Mann muss schliesslich den
Inhalt auf den src zeigt, in die Stelle auf die dest kopieren.

>>die giebt es ja unter linux
Nein, gibt es nicht. Man kann höstens innerhalb der Funktion speicher
allokieren und den Zeiger darauf zurückgeben.
Dieser speicher muss aber dann wieder freigegeben werden.

>>ANSI C dürfte das sein die arbeiet mit STRINGS.
STRINGS ? Was meinst du genau mit STRINGS ?

von Martin #. (martin-)


Lesenswert?

Am einfachsten wäre mit strstr nach der Zeichenkette zu suchen:

dest_in_src = strstr(src, "gesuchte zeichekette")

dann mit hilfe von dest_in_scr in dest kopieren:

if(dest_in_src != NULL)
     strncpy(dest, dest_in_src, strlen("gesuchte zeichekette"))

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.