Forum: PC-Programmierung Char aus Headerdatei lesen


von MWStui (Gast)


Lesenswert?

Hallo Forum,

ich hab momentan das Problem das ich ein "const unsigned char" Array mit 
einigen Firmware Konfigurationen habe und dieses in einer extra 
Header-Datei stehen soll (nimmt einfach sehr, sehr viel Platz weg).

In meinem main-Programm soll nun diese Konfiguration eingebunden werden 
und Zelle für Zelle gelesen.

Aus irgendeinem Grund kommt sie aber statt als Char (bzw. String) als 
Integer Wert an.

Im folgenden ein kleines Beispiel:

1
const unsigned char firmware[] = {
2
0x00, 0x01, 0x02}

main:
1
for(int i = 0; i < 2028; i++)  {
2
printf("%s \n", firmware[i]);
3
hel = firmware[i]; }

Da meckert der Compiler mir rum das firmware[i] ja ein Integer ist...
mit
1
printf("%x \n", firmware[i]);
erhalte ich die entsprechenden Hexadezimalwerte.
Was kann ich machen, dass mir die einzelnen Werte als Strings erhalten 
bleiben?

von Peter II (Gast)


Lesenswert?

MWStui schrieb:
> Was kann ich machen, dass mir die einzelnen Werte als Strings erhalten
> bleiben?

du hast keine Strings.

Du hast Zeichen (unsigned char ), diese kannst du als zeichen %c oder 
als zahl %d ausgeben.

von MWStui (Gast)


Lesenswert?

Lasse ich mir die Werte mit %c ausgeben erhalte ich nur Fragezeichen.

von Peter II (Gast)


Lesenswert?

MWStui schrieb:
> Lasse ich mir die Werte mit %c ausgeben erhalte ich nur Fragezeichen.

naja was erwartest du was

0x00, 0x01, 0x02

für Zeichen sein sollen? Das sind keine darstellbaren Zeichen.

von MWStui (Gast)


Lesenswert?

Ok, hab den Fehler gemerkt...

zu lange nicht mit C gearbeitet...

Frage ist beantwortet.

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.