uIP int in char casten und dann versenden

Gast #273455
Lesenswert?
• ▲
▼
Hallo,

ich möchte gerne einen int-Wert in einen char casten und diesen dann
mittels uip_send versenden.

Einen char kann ich ohne Probleme wie folgt versenden:

char mess [20] ="zei";
uip_send(mess, 20);

oder:
char mess [20] = {'w','o','r','t'}
uip_send(mess, 20);

oder:
char mess [20];
mess[0] = 'z';
mess[1] = 'e';
uip_send(mess, 20);


Nun möchte ich allerdings einen int-Wert versenden. Mit:
int mess = 2;
uip_send(mess, 20);

geht es nicht.

Ich weiß nicht ob ich den int in einen char casten muss oder ob es auch
ohne casten geht. Nur weiß ich nicht wie ich genau casten muss.
Folgendes hab ich probiert:

int i = 2;
char mess = (char) i;
uip_send(mess, 20);

Der Compiler schmeißt mir hierbei keinen Fehler, allerdings kommt am
Ende nicht die 2 heraus, sondern irgendwelche Sonderzeichen.

Ich würde mich freuen wenn mir jemand helfen kann.

Birger
#273456
Lesenswert?
• ▲
▼
Du willst nicht casten, du willst eine Zahl in einen String umwandeln.
Mal dir bitte mal die Binärdarstellung des Strings "123" und die der
Zahl 123 auf. Dann siehst du, was ich meine.

Du glaubst mir hoffentlich, wenn ich behaupte, dass du nicht der erste
mit diesem Problem bist? Es gibt einige Standardlösungen, die hier
schon sehr oft gepostet wurden, eine ist z.B. sprintf. Falls du C++
programmierst (enden deine Dateien auf .cpp? dann ja) ist sprintf aber
viel zu kompliziert, dann würde man z.B. std::ostringstream nehmen oder
noch viel einfacher: boost::lexical_cast.
Gast #273458
Lesenswert?
• ▲
▼
Genau ich möchte einen int-Wert in einen String umwandeln.
Ich programmiere in C und bin ein Anfänger auf diesem Gebiet.

Aber ich habe das Problem jetzt gelöst, indem ich hier im Forum nach
"string int" gesucht habe. Ich weiß man sollte erst suchen und dann
fragen, nur hatte ich zuvor nach den falschen Suchbegriffen geschaut.

Ich hab es mit dem Beispiel:

int wert = 345;
char string[4];
itoa(wert,string,10);

gelöst.

Aber trotzdem danke für eure Bemühungen!!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.