Forum: PC-Programmierung Problem mit itoa


von Willi K. (kucky)


Lesenswert?

Hallo zusammen,
ich stehe hier vor einem Problem mit der Konvertierung eines Zeichens 
(Buchstabe) nach DEC oder BIN. Ich habe folgenden Code geschrieben:

void Check(){
String Teststring = "834.635#98.1#0.347#-57.21#0.001#38.1#841.1";

char buffer[50];
char *msg[100] = {};

  for(int i=0; i < Teststring.length(); i++)
  {
         msg = itoa(Teststring.charAt(i), buffer, 2);
  }
}
Die Fehlermeldung bei msg lt.:"Ausdruck muß ein änderbarer Ivalue sein"

Auch die "Kurzform" msg = itoa('a',"        ",10);
funktioniert nicht.
Anschließende möchte "msg" addieren ( + oder & ).
Wahrscheinlich blöde Frage, aber komme nicht drauf.
LG
Willi

von Rene (Gast)


Lesenswert?

Was möchtest Du mit einem Array von 100 Char Pointer?

==> Falsche deklaration


Deine Kurzform hat zwei Fehler. Die Zuweisung zu msg und buffer ist 
Konstant.

Grüsse,
R.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Willi K. schrieb:
> Konvertierung eines Zeichens (Buchstabe) nach DEC oder BIN.

Überleg noch mal genau, was Du vorhast.

Das, was Du da geschrieben hast, ist jedenfalls ein kompletter 
Holzweg.


itoa konvertiert einen Zahlenwert in eine diesen Zahlenwert 
repräsentierende Zeichenkette -- macht also genau das Gegenteil von 
dem, was Du erreichen willst.

von Udo S. (urschmitt)


Lesenswert?

Willi K. schrieb:
> ich stehe hier vor einem Problem mit der Konvertierung eines Zeichens
> (Buchstabe) nach DEC oder BIN.

itoa() ist keine C Standardfunktion, also vom Compiler abhängig, den du 
nicht nennst.
Ausserdem konvertiert itoa wie es der name schon sagt integer to ascii, 
also eine binäres integer Format in einen String.

Willi K. schrieb:
> Wahrscheinlich blöde Frage, aber komme nicht drauf.

Doku lesen hilft meistens

Wenn ich mir deinen Code anschaue, Sorry, aber hast du schon einmal in 
ein C Buch geschaut?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Udo Schmitt schrieb:
> itoa() ist keine C Standardfunktion, also vom Compiler abhängig, den du
> nicht nennst.

Es geht hier nicht um C, denn C kennt keinen Datentyp "String", noch 
kennt es dessen Memberfunktionen length oder charAt.

Das ist vermutlich irgendeine C++-Variante, oder, wenn wir Pech haben, 
sogar missverstandenes .Net (C# oder C++/CLI).

von Rene (Gast)


Lesenswert?


von Willi K. (kucky)


Lesenswert?

Danke für die schnellen Antworten. Ich habe mich komplett vergalopiert. 
Jetzt weis ich aber, dank Rufus wo. Einfach verwechselt.
Und ja, ich habe in ein C-Buch geschaut.
Gruß Willi

von Willi K. (kucky)


Lesenswert?

Nochmals vielen Dank. Bin jetzt wieder richtig unterwegs :-)
Bin kein erfahrener Programmierer, obwohl ich schon meinen ersten 
Experimentierbot erfolgreich fertiggestellt habe. Ich stolpere aber 
regelmäßig über char und string. Und da lag der Hund begraben. Aber das 
lerne ich auch noch.
LGW

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
Noch kein Account? Hier anmelden.