Hi! Ich hole mir aus einer MMC einen fixen Text, den ich noch mit Zeichen und Zahlen füllen muß. Nach dem laden aus der MMC habe ich z.B. eine String-Variable text mit dem Inhalt "Dies ist der xxx. Durchlauf". Zusätzlich habe ich noch die Variable i, die aktuell z.B. die Zahl 13 (kein String!) enthält. Wie kann ich nun die "xxx" mit dem String (!) aus der Zahl 13 füllen? Im Endeffekt soll dann hald "Dies ist der x13. Durchlauf" als Inhalt der String-Variable text rauskommen! Hab schon ein bischen rumprobiert und gelesen, finde aber nichts passendes... Bräuchte was wie printf, nur als Ziel hald eine Stringvariable anstatt einer Ausgabe. Im Vorraus schonmal herzlichen dank!
Hi für deinen speziellen Fall, ohne Überprüfungen auf Fehler, mit fixem Offset zum Stringanfang und mit löschen der 'x': sprintf(text+13,"%3d",i); Matthias
Irgendwie hat das bei mir nicht hin... :-( Probieren wir es mal (testweise, zum verstehen) andersrum: Ich habe folgenden Code: ------------------ unsigned char i, text[50]; for(i=0; i<8; i++) { text = strcat( text, "Dies ist der xxx. Durchlauf" ); ..... uart_puts(text); } ------------------ Was muß ich in die Zeile mit den Punkten schreiben, dass die xxx durch z.B. <leerzeichen> <leerzeichen> <inhalt_von_i> aufgefüllt werden? Dazu möchte ich noch hinzufügen, dass angenommen werden soll dass die Position der xxx nicht fix ist! (Bräuchte hald sowas wie printf) Anstelle der xxx kann ich natürlich im vornherein schon z.B. "%3d" oder so vorgeben, wenn dies was bringen sollte... ;) Ich steh noch ein bischen auf Kriegsfuss mit Arrays, Strings und Pointern.. ;) Danke für eure hilfe!
> Hab schon ein bischen rumprobiert und gelesen, finde aber nichts > passendes... Bräuchte was wie printf, nur als Ziel hald eine > Stringvariable anstatt einer Ausgabe. Wie von Matthias schon gesagt: Wenn Du 'so was wie printf' brauchst, 'nur halt mit einer Stringvariable (einem character Array) als Ziel', dann gibt es sowas fertig: sprintf Doku lesen!
unsigned char i, text[50]; for(i=0; i<8; i++) { sprintf(text,"Dies ist der %3d. Durchlauf" , i); uart_puts(text); }
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.