mikrocontroller.net

Forum: Compiler & IDEs Anfängerfrage


Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Freunde!

Ich habe mal wieder eine Anfängerfrage....

gegeben sind 11 int Variablen (ziffer0, ziffer1... bis ziffer 10)
und 11 char Variablen (wert0, wert2... bis wert 10)

Nun möchte ich eine Umwandlung durchführen.

Gehts auch kürzer als so ?

  itoa(ziffer0, wert0, 10);//Wandlung integer->char
  itoa(ziffer1, wert1, 10);//Wandlung integer->char
  itoa(ziffer2, wert2, 10);//Wandlung integer->char
  itoa(ziffer3, wert3, 10);//Wandlung integer->char
  itoa(ziffer4, wert4, 10);//Wandlung integer->char
  itoa(ziffer5, wert5, 10);//Wandlung integer->char
  itoa(ziffer6, wert6, 10);//Wandlung integer->char
  itoa(ziffer7, wert7, 10);//Wandlung integer->char
  itoa(ziffer8, wert8, 10);//Wandlung integer->char
  itoa(ziffer9, wert9, 10);//Wandlung integer->char
  itoa(ziffer10, wert10, 10);//Wandlung integer->char

Vielleicht so ?

char wert0[20],wert1[20],wert2[20],wert3[20],wert4[20],
     wert5[20],wert6[20],wert7,[20],wert8[20],wert9[20],wert10[20];

uint8_t ziffer0,ziffer1,ziffer2,ziffer3,ziffer4,ziffer5,ziffer6,
        ziffer7,ziffer8,ziffer9,ziffer10;

  uint8_t x=0;
  for(x=0;i<11;i++)
  {
  itoa(ziffer+i, wert+i, 10);//Wandlung integer->char
  }

und...
wenn ich weiß, daß der Integer-Wert der Variablen "zifferX" immer nur
einstellig ist (also 0-9), reicht es daß ich die Variable mit wertx[1];
dimensioniere???

Hoffe Ihr versteht was ich meine...

Vielen Dank im Voraus...
S.

Autor: Justus Skorps (jussa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sven schrieb:


>   itoa(ziffer+i, wert+i, 10);//Wandlung integer->char

wenn du glaubst, dass du damit auf ziffer0, ziffer1, etc zugreifen 
kannst, solltest du vielleicht mal in ein C-Buch schauen...

angesehen davon: wenn nur einstellige Ziffern auftauchen, einfach den 
Hex-Code für 0 addieren...

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok. danke für die Antwort
ich schaue mir das mit dem hex-code an.

Danke

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Justus Skorps schrieb:
> Sven schrieb:
>
>
>>   itoa(ziffer+i, wert+i, 10);//Wandlung integer->char
>
> wenn du glaubst, dass du damit auf ziffer0, ziffer1, etc zugreifen
> kannst, solltest du vielleicht mal in ein C-Buch schauen...
>
> angesehen davon: wenn nur einstellige Ziffern auftauchen, einfach den
> Hex-Code für 0 addieren...

was dann aber zumindest theoretisch nicht portabel ist, weil
nicht jedes System zwingend ASCII benutzt.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus Wachtler schrieb:

>> angesehen davon: wenn nur einstellige Ziffern auftauchen, einfach den
>> Hex-Code für 0 addieren...
>
> was dann aber zumindest theoretisch nicht portabel ist, weil
> nicht jedes System zwingend ASCII benutzt.

Hier darf ich dich korrigieren.
Das ist tatsächlich portabel.
Der C-Standard fordert von seinem zugrundeliegenden Zeichensatz, dass 
die Ziffern '0' bis '9' forlaufende Codes haben.
Das gilt allerdings nicht für die Buchstaben sondern nur für die 
Ziffern.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, meinetwegen!
Danke

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.