"array of string"

Post Reply
Message
Author
yanko

"array of string"

#1 Post by yanko »

Hallo alle,

ich nerv mich jetzt schon länger mit dem selben Problem rum:

Ich krieg über die serielle Schnittstelle in nem Protokoll Zahlen von 0-12 in der Variable msg_3_data. Diese Zahl will ich auf meiner Oberfläche als Text ausgeben:
0 bedeutet "Nicht initialisiert"
1 bedeutet "Grundeinstellungen"
2 bedeutet "Erweiterte Grundeinstellungen"
....
...
12 bedeutet....

Ich könnte jetzt eine grosse Case-Struktur bauen, und die entsprechenden Texte mit printf ausgeben.
Ich habe mir überlegt, es müsste doch einfacher gehen! Ich lege die Texte als ein konstantes Array of String ab, verwende msg_3_data als Indize und gebs dann ungefärhr so aus:
printf("%s",Array_of_String[msg_3_data]);
Natürlich kommt nocht die Bereichsüberprüfung von msg_3_data dazu, aber dafür kann ich mir die ganze 12-teilige Case-Strukur sparen. Wie muss ich die Konstante Array_of_String definieren? Ich kriegs einfach nicht hin :-( Weiss jemand etwas? Oder hat eine bessere Lösung?

Danke und Gruss

yanko

klopskuchen
prolinux-forum-admin
Posts: 1444
Joined: 26. Jun 2004 21:18
Contact:

#2 Post by klopskuchen »

Code: Select all

char *str[] = {
     "nicht initialisiert",
     "Grundeinstellungen",
     "Erweiterte Grundeinstellungen",
 };
printf ("%s", str[msg_3_data]);

MfG, Klopskuchen
When all else fails, read the instructions .

Post Reply