mikrocontroller.net

Forum: Compiler & IDEs Substring in GCC???


Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Wolfgang Horn (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Martin #### (martin-)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Marcus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Martin #### (martin-)
Datum:

Bewertung
0 lesenswert
nicht 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 ?

Autor: Martin #### (martin-)
Datum:

Bewertung
0 lesenswert
nicht 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"))

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.