standard Datentyp abfragen



  • Hi, ich muss gerade eine kleine Funktion schreiben, mit der ich schneller Eingaben fordern kann.

    Nun will ich mich sparen, mehrere Funktionen zu schreiben und benutze "auto" und will später abfragen, welcher Datentyp übergeben wurde.

    Wie kann die diese Abfrage jetzt gestallten?

    Vielen Dank im Voraus. 🙂



  • Ägypten?



  • Danke. Ich probier das mal aus.

    Ok, nochmal anders.
    das ding soll in etwa so aussehen:

    void Wertabfrage(char text[], auto var)
    {
    ... // Ausgabe von text
    
    Switch (....)
     Case "integer": ... // Eingabe von var, falls ein Integer übergeben wurde
                    break;
     Case "boolean": ... // Eingabe von var, falls eine Boolean übergeben wure
                    break;
     ...
    
    }
    

    Hab übrigens Probleme, C und C++ auseinanderzuhalten. Hab mir die Grundlagen von C++ vor ein paar Monaten ein wenig angeeignet, jetzt muss ich mit C programmieren.



  • ruhig_brauner schrieb:

    Hab übrigens Probleme, C und C++ auseinanderzuhalten.

    Ja, offensichtlich nicht nur du. Die C++11er Leute haben sich auch entschlossen, das C-Schlüsselwert auto "wiederzuverwenden" (aber leider für völlig andere Dinge), mit haarsträubenden Begründungen wie "haben Millionen LOCs analysiert und festgestellt, dass auto nur sehr selten vorkommt...", pure Faulheit aus meiner Sicht.
    In C musst du dir einen eigenen Fallunterscheider bauen, sinnvollerweise in eine Funktion gekapselt,z.B.

    enum {INT,BOOL};
    int switcher(const char*s)
    {
      if(!strcmp(s,"integer")) return INT;
      if(!strcmp(s,"boolean")) return BOOL;
      assert(1);
    }
    ...
    switch( switcher(typstring) ){
    case INT: 
    break;
    case BOOL:
    break;
    }}
    


  • au man, ich glaub ich werd wohl einfach Funktionen für die Standardtypen benutzen.

    danke aber für deine Hilfe. 🙂


Anmelden zum Antworten