- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 4 von 4

Thema: variable Format-strings für printf?

  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    41
    Beiträge
    1.780

    variable Format-strings für printf?

    Anzeige

    Powerstation Test
    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!

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    Ich versteh das Problem nicht.

    Code:
    char *a;
    ...
    printf (a, b);
    Oder suchst du was wie vaprintf oder

    http://gcc.gnu.org/onlinedocs/gcc-4....tructing-Calls
    Disclaimer: none. Sue me.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied Avatar von drew
    Registriert seit
    06.04.2005
    Beiträge
    160
    Hallo Felix,

    folgender Code sollte funktionieren. Vielleicht hilft Dir das weiter:

    Code:
    char format[50];
    
    if( irgendwas )
    {  strcpy(format,"Hex: 0x%X");  }
    if( irgendwas_anderes )
    {  strcpy(format,"Dez: %d");  }
    
    printf(format,Dein_Wert);
    Drew


  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    41
    Beiträge
    1.780
    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!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen