INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
C-Code für eine substring-Funktion: richtig ?
27.05.2015, 08:54 (Dieser Beitrag wurde zuletzt bearbeitet: 27.05.2015 13:30 von HaWe.)
Beitrag #1
C-Code für eine substring-Funktion: richtig ?
hallo,

weil mein letzter (gefundener) C-Code für eine substring-Funktion (mit pointer und malloc) bei Arduino zu einem Compiler-Error ("-fpermissive..." oder so ) geführt hat, habe ich mal etwas herumprobiert und zu diesem hier umgeschrieben.
Könnten diesen bitte mal C-Kenner überprüfen, ob der Code niet- und nagelfest ist, gerade was Indices und Pointer angeht?
Danke euch!

edit - nee, war falsch... Sad
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.05.2015, 14:01 (Dieser Beitrag wurde zuletzt bearbeitet: 27.05.2015 14:02 von HaWe.)
Beitrag #2
RE: C-Code für eine substring-Funktion: richtig ?
es klappt!

Code:
char * substr (char * source,  char * sub,  int16_t  pos,  int16_t  len) {
   char   *sret = sub;

   if ( (pos+len) >  strlen(source) ) len = strlen(source)-pos;  // cut away if too long
   sub = strncpy(sub, source+pos, len);
   sub[len] = '\0';
  
   return sret;  
}

void loop() {
   char sbuf[128] = "to be or not to be";
   char sub[128];
  
   substr(sbuf, sub, 6, 9);  // => "or not to"
   Serial.println();
   Serial.println(sbuf);
   Serial.println(sub);
   Serial.println(substr(sbuf, sub, 6, 9) );
  
   while(true);
  
}

Ausgabe, völlig korrekt:
Code:
to be or not to be
or not to
or not to



gelöst!
(blöde pointer !) Undecided
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Programm-Code für 4 Schrittmotoren Philipp92 4 51 Gestern 17:26
Letzter Beitrag: Philipp92
  Code muss um 73Bytes reduziert werden! Wie? torsten_156 11 222 Gestern 12:54
Letzter Beitrag: Hilgi
  Eine Funktion verlassen Jan5663 8 424 18.12.2017 13:49
Letzter Beitrag: Chopp
  Eine void starten mit eine Android app Atwist 8 509 04.12.2017 19:18
Letzter Beitrag: MicroBahner
  Code wird langsamer mit der Laufzeit Wampo 9 793 05.10.2017 11:32
Letzter Beitrag: SkobyMobil
Tongue Visual Studio Code als Editor für die Entwicklung von Arduino Code Klaus(i) 1 453 03.09.2017 19:15
Letzter Beitrag: Mathias
  Volume Up falscher Tastatur Hex-Code Maxi290997 7 679 03.07.2017 21:49
Letzter Beitrag: Maxi290997
  Schlagwerk für eine Uhr ist1969 37 2.616 16.06.2017 18:54
Letzter Beitrag: Tommy56
  delay(...) im Code ok? donut 4 707 08.06.2017 20:16
Letzter Beitrag: donut
  eine einfache Xor Bitte ? himbeersirup 1 460 08.06.2017 09:15
Letzter Beitrag: MicroBahner

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste