Gast
#5391
Hi, Wie wnadle ich ein iteger in einen string um?? lg, Stefan
|
Anzeige
|
Int in string
Gast
#5391
Hi, Wie wnadle ich ein iteger in einen string um?? lg, Stefan itoa() oder sprintf()
Gast
#5393
Hi, In welcher Include sind die Funktionen, in der string.h hab ich sie nicht finden können, den ich wollte es zuerst mit sprintf(); machen, aber konnte eben die routine nicht finden. lg, Stefan zu sprintf: siehe www.mikrocontroller.net/avr-gcc-faq.htm itoa() müsste in stdlib.h deklariert sein.
Gast
#5395
Hi, Danke vielmals lg, Stefan
Gast
#5396
Hi,
Habe sprintf getestet, bei der verwendung ist mir folgender Fehler
aufgefallen:
Wenn man sprintf(); immerwieder anwendet( auf selbe Zeichenkette) wird
die Zeichenkette nicht neu geschrieben, sondern die neue Zeichenkette an
die alte drangehängt:
z.B.:
char sHelp[10];
int i;
for(i=0;i<10;i++)
sprintf(sHelp,"%i",i);
da steht dan Folgendes im String: sHelp={0123456789}
wenn man nun aber in der routine nach den Variabln *buf='\0' einfügt
wird der alte String immer neu geschrieben.
Ich hoffe du weißt as ich mein.
lg,
Stefan
Gast
#5397
in der sprintf funktion ist ein fehler! statt strcat müsste es strcpy heißen.
Gast
#5398
Wenn du nur eine Ziffer in einen char umwandeln willst, kannst du auch einfach '0' hinzuaddieren. int i = ???; char c = i + '0'; Björn
Gast
#5399
kann sein, sprintf() nicht bei jedem Controller geht? Habe bei einem 90l8535 kein Problem, aber beim mega103L geht nichts, der string is leer. lg, Stefan
Gast
#5400
@Jonas Zu dem Fehler in sprintf: Muss ich beide strcat in strcpy umwandeln oder nur eines, habs nämlich mal probiert (mit beiden) hat aber irgendwie nicht hingehauen... Kannst Du mich mal kurz aufklären? Danke Gruß Steffen Nix strcpy, strcat ist schon richtig. Warum der Code nicht funktioniert hat kann ich jetzt auch Anhieb so nicht sagen, bei mir ging es jedenfalls. Aber ein paar andere Bugs sind mir auch irgendwann mal aufgefallen. Schreib doch mal ein eigenes sprintf, ist eine schöne Übung :-) Oder befrag google nach "sprintf implementation", du solltest haufenweise sprintf-Funktionen finden. Vielleicht musst du sie auch erst ein wenig kürzen damit das in einen kleinen AVR passt... Gruß Andreas Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|