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
gesucht: C-Funktion zum Einfügen eines Teilstrings in einen größeren
24.05.2015, 20:30 (Dieser Beitrag wurde zuletzt bearbeitet: 24.05.2015 21:25 von HaWe.)
Beitrag #1
gesucht: C-Funktion zum Einfügen eines Teilstrings in einen größeren
hallo,
ich suche eine ANSI-C-Funktion, um in einem bestehenden string, z.B.

Code:
char sbuf[11];
strcpy(sbuf, ".-.-.-.-.-");

an pos. 1-3 (C: 0-2) die folgende formatierte 3-stellige int-zahl eizufügen

Code:
char isbuf[4];
int i=45;
sprintf(isbuf, "%03d", i);
// ergibt "045"

sodass der gesamte string dann so aussieht:
Code:
"045-.-.-.-"

das Problem ist also das einfügen/ersetzen eines kleinen Strings in einen größeren source-string an eine bestimmte Postion.

wer weiß wie das sauber und elegant geht?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.05.2015, 10:30 (Dieser Beitrag wurde zuletzt bearbeitet: 25.05.2015 11:37 von HaWe.)
Beitrag #2
RE: gesucht: C-Funktion zum Einfügen eines Teilstrings in einen größeren
okok, scheint keiner was fertiges zu kennen - dann eben home-brewed... Undecided


irgendwelche Einwände, ob die Indices und counter etc. stimmen?

Code:
// version 1.1

int16_t strinsert (char * targ, const char * sub, int16_t pos) {
   int16_t targlen, sublen, i;
   targlen = strlen(targ);
   sublen  = strlen(sub);
  
   if( pos > targlen ) return -1; // size/position error
   i=0;
   while ( (pos+i <= targlen) && (i<sublen) ) {
      targ[pos+i] = sub[i] ;
      ++i;  
   }  
   return i ; // chars written
  
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Vorüberlegungen zum Bau eines Hexapoden juergen001 11 839 20.05.2018 23:02
Letzter Beitrag: GuaAck
  Funktionen mit der millis() Funktion Zis 3 212 16.05.2018 21:50
Letzter Beitrag: Tommy56
  Map funktion bei Fernsteuerung marsmännchen 7 359 23.04.2018 12:42
Letzter Beitrag: hotsystems
  Einen Startwert für den Millis() Zähler einstellen?? Franz54 9 527 01.04.2018 17:01
Letzter Beitrag: Franz54
  Millis verzögern Funktion? malsehen 14 678 29.03.2018 21:47
Letzter Beitrag: hotsystems
  Trick zum Librarie Patchen gesucht ardu_arne 6 486 14.03.2018 15:14
Letzter Beitrag: ardu_arne
  Hilfe bei einen kleinen Programm FPV 9 936 11.03.2018 20:42
Letzter Beitrag: Tommy56
  Neuling mit einen Projekt MrNiceGuy 39 2.955 04.02.2018 20:50
Letzter Beitrag: MrNiceGuy
  Kleiner Denkanstoß - Auslesen eines KY-040 Encoders Stargazer 26 1.508 20.12.2017 16:13
Letzter Beitrag: Stargazer
  Eine Funktion verlassen Jan5663 8 873 18.12.2017 13:49
Letzter Beitrag: Chopp

Gehe zu:


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