Anfängerfrage

Gast #1442955
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.
#1442973
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...
#1443058
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.
#1443166
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 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.