Hallo Forum,
Ich habe hier verschiedene Arrays mit allen möglichen Datentypen.
Diese würde ich gerne durchlaufen
1 | void *log_data;
|
2 |
|
3 | // void Pointer casten
|
4 | if(dataType == UNSIGNED_16){
|
5 | (u16 *)log_data;
|
6 | ........
|
7 | }
|
8 | else if(dataType == SIGNED_8){
|
9 | (s8 *)log_data;
|
10 | ........
|
11 | }
|
12 | else if(dataType == UNSIGNED_32){
|
13 | (u32 *)log_data;
|
14 | ........
|
15 | }
|
16 |
|
17 | // Aktion durchführen
|
18 | for(i=0; i<arraySize; i++){
|
19 | printf(formatToken, log_data+i);
|
20 | ...
|
21 | ...
|
22 | ...
|
23 | }
|
Klar, der Void Pointer lässt sich schlecht inkrementieren, aber gibt es
eine Alternative, bei der meine Programmstruktur hinhauen könnte?