Hallo,
ich steh gerade aufm Schlauch, liegt wahrscheinlich an der Uhrzeit :(
Ich verwende ein zweidimensionales char-Array für verschiedene Texte,
z.B. Wochentage:
1 | uchar txtWeekDay[][10] = {{" Montag"},
|
2 | {" Dienstag"},
|
3 | {" Mittwoch"},
|
4 | {"Donnerstag"},
|
5 | {" Freitag"},
|
6 | {" Samstag"},
|
7 | {" Sonntag"}
|
8 | };
|
Ich möchte in Abhängigkeit einer Variablen den entsprechenden Text
auswählen und an eine Funktion übergeben.Die Funktion erwartet als
Parameter einen Pointer auf ein eindimensionales char-Array, also einen
Text.
1 | void func(unsigned char *pText);
|
Der Aufruf mit
1 | func(txtWeekDay[Wochentag][0])
|
spuckt mir Fehlermeldungen aus (illegal pointer conversion),
während
1 | func(txtWeekDay[Wochentag])
|
zwar akzeptiert wird, aber murks macht, offenbar wird die
Nullterminierung nicht erkannt, es werden alle Texte erkannt.
Ich hab's auch mit
1 | func((char *)txtWeekDay[Wochentag][0])
|
probiert, aber hier scheint der Pointer ins Nirwana zu zeigen, da wird
gleich gar nichts ausgegeben, das ist wiederum zu wenig :)
Wie gesagt, es ist schon spät, ich werd morgen mal untersuchen, wo denn
die Pointer eigentlich genau hinzeigen, aber vielleicht sieht jemand
was, was ich gerade nicht zu erkennen in der Lage bin.
Danke.
Ralf