string in ein uint8

Gast #4548834
Lesenswert?
• ▲
▼
jan schrieb:
> &puffer[0]

1. Die ist die Adresse des ersten Elements des Arrays.
Einfacher könntest du auch schreiben atoi(puffer).

2. Was sagt denn der Compiler? atoi() ist schon richtig, du erhältst 
aber einen Integer, möchtest aber einen 1 Byte unsigned Wert.

Entweder du weisst/vertraust dass in dem String nur ein passender Wert 
steht, dann reicht ein einfacher cast, oder du muss überprüfen, dass der 
Wert auch im gültigen Bereich für uint8 ist bevor du castest.
#4548840
Lesenswert?
• ▲
▼
@  jan (Gast)

>char puffer"123";
>uint8 zahl;

>nun wollte ich die puffer in ein uint8 zahl wandeln, komme aber nicht
>weiter.

>zahl= atoi(&puffer[0]);

Prinzipiell richtig, praktisch unvollkommen.
1
char puffer[] = "123";
2
uint8_t zahl;
3

4
zahl = atoi(puffer, 10);  // Zahlenbasis 10

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren