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
  Map funktion bei Fernsteuerung marsmännchen 7 129 Heute 12:42
Letzter Beitrag: hotsystems
  Millis verzögern Funktion? malsehen 14 576 29.03.2018 21:47
Letzter Beitrag: hotsystems
  Code noch verbesserbar/kürzbar? CommanderKSK 2 246 16.03.2018 23:53
Letzter Beitrag: CommanderKSK
  [Ein bisschen abseits]Kennt jemand eine Quelle für AT90 Programmierdaten ManniP 2 228 02.03.2018 12:31
Letzter Beitrag: Bitklopfer
  Unverständnis im Code Maker33 13 514 25.02.2018 13:26
Letzter Beitrag: Tommy56
  Rotaryencoder funktioniert nicht richtig 123clever 19 787 20.02.2018 22:22
Letzter Beitrag: rpt007
  TFT Pixel to Code oOSpikeOo 6 955 19.02.2018 10:36
Letzter Beitrag: Mobilunity
  Schon wieder eine Zeitschaltung Eckardt 7 380 28.01.2018 10:26
Letzter Beitrag: Tommy56
  Programm-Code für 4 Schrittmotoren Philipp92 18 1.283 27.01.2018 12:10
Letzter Beitrag: Tommy56
  Code muss um 73Bytes reduziert werden! Wie? torsten_156 13 940 25.01.2018 21:56
Letzter Beitrag: torsten_156

Gehe zu:


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