den Namen einer Variable an Funktion übergeben



  • Hallo,

    Meine Frage.
    Ist es möglich den Namen einer Variable an eine Funktion zu übergeben.
    (nicht den Wert)

    Ich habe eine neue Funktion definiert, die anstelle von fwrite() aufgerufen wird. Die Ergebnisse die bisher in ein File ausgegeben wurden, möchte ich umleiten, ohne den alten code zu verändern. Um value richtig zu zuordnen, wäre es hilfreich, wenn ich den Namen von value mit übergeben könnte("value").

    Dieser Code Funktioniert nicht !!!
    Nur ein Beispiel um zu zeigen wie es ungefähr aussieht.

    #define fwrite(value,size,count,file) myfwrite(value,size,count,file,"value")
    
    // Funktion
    int myfwrite( void* value, long size, long count, FILE* file, char* valueName)
    {
        // do something
    }
    
    // Funktions aufruf in main
    main()
    {
        long var = 5;
        // .....
        fwrite(&var, sizeof(long),1,FilePointer); 
        // ...
    }
    

    Ich möchte nun den Namen "var" in der Funktion myfwrite verwenden.
    Ist es möglich den Namen zu übergeben.

    Ich bin für jeden Tipp dankbar.
    mfg



  • nein. beim kompilieren geht der name flöten. du kannst hochstens die speicherstelle nehmen, sonst geht da aber nix.



  • hi
    da sich der name einer variable waerend der laufzeit ja nicht aendert machst einfach nen char array der als wert den namen der variablen hat und kannst ja diesen dann mit uebergeben waenn due ne andere variable oder du kanns einfach gleich bein aufruf der funktion den namen reinschreiben



  • Kurz und knapp:
    Dynamisch wirst du das nicht hinbekommen.


Anmelden zum Antworten