Ich versteh das Problem nicht.
Oder suchst du was wie vaprintf oderCode:char *a; ... printf (a, b);
http://gcc.gnu.org/onlinedocs/gcc-4....tructing-Calls
Hallo Leute,
der Titel sagt eigentlich schon fast alles...
Ich habe ein Menü, das natürlich auch unterschiedlichste Werte anzeigen können soll. Abhängig von mehreren für den jeweiligen Menüeintrag eingestellten Werten (Variablentyp, also int, float etc. außerdem optional jeweils Anzeige z.B. als hex oder oktal), soll dann für printf ein passender Formatstring gebaut werden...
z.B.
8Bit signed int: "%d"
32Bit unsigned int, Anzeige als hex: "%08X" (Länge aufgrund 32Bit, hex weil explizit gewünscht)
Irgendweche effizienten Vorschläge?
(ich würde ungern für jeden möglichen Fall ein eigenes printf spendieren, und möchte auch nicht unbedingt mit zeit/speicherfressenden Funktionen arbeiten... das printf ist schon schlimm genug)
So viele Treppen und so wenig Zeit!
Ich versteh das Problem nicht.
Oder suchst du was wie vaprintf oderCode:char *a; ... printf (a, b);
http://gcc.gnu.org/onlinedocs/gcc-4....tructing-Calls
Disclaimer: none. Sue me.
Hallo Felix,
folgender Code sollte funktionieren. Vielleicht hilft Dir das weiter:
DrewCode:char format[50]; if( irgendwas ) { strcpy(format,"Hex: 0x%X"); } if( irgendwas_anderes ) { strcpy(format,"Dez: %d"); } printf(format,Dein_Wert);
Eigentlich wollte ich die Formatstrings abhängig von diversen Parametern erzeugen, und zwar sollte das schon weit umfangreicher sein als das bloße kopieren vorgefertigter Formatstrings.
z.B. hätten eben auch Teile des Formatstrings wie etwa die Länge und die Anzahl der Nachkommastellen etc. mit berücksichtigt werden sollen.
Aber das Thema hat sich eigentlich erledigt, da ich auf die Triviallösung umgestiegen bin:
der passende Formatstring muss in der Definition der Menüeinträge von Hand angegeben werden.
So viele Treppen und so wenig Zeit!
Lesezeichen