Speicheradresse als std::string?



  • Hallo Community,

    ich habe da ein kleines Problem, bei dem ich nicht so recht weiterkommme. Ich möchte für Debug-Zwecke eine Speicheradresse in einem std::string ablegen, weiß
    aber nicht so recht wie ich das anstellen soll. Hab da ein wenig mit stringstreams rumexperimiertert, bin mir aber ziemlich sicher auf dem Holzweg zu sein.

    Hier ein Code-Schnipsel, mit dem es nicht geht:

    #include <iostream>
    #include <sstream>
    #include <string>
    
    int main(int argc, char *argv[]) {
    
    	FooBar fooBar;	
    
    	std::ostringstream stream(std::ios_base::ate)
    	stream << (void*) &fooBar;
    
    	std::string addressAsString( stream.str() );		
    	std::cout << addressAsString.str()  << std::endl;
    
    	return EXIT_SUCCESS;
    }
    

    Gruß

    H.-Gerd



  • Morgen,

    ich wuesste zwar aus dem Bauch heraus nicht, wie man das anstellen koennen soll,
    aber ich frage mich gerade, warum du die Adresse in einem string haben willst?

    Du kannst sie doch auch so ausgeben lassen (cout<<&fooBar). Und im Debugger ist
    es meist kein Problem, an die Adresse der Variablen zu kommen, ich bin mir sogar
    recht sicher, dass das jeder Debugger unterstuetzt.

    mfg
    v R



  • Got it by my own!

    #include <iostream>
    #include <sstream>
    #include <string>
    
    int main(int argc, char *argv[]) {
    
        FooBar fooBar;   
    
        std::ostringstream stream;
        stream << (void*) &fooBar;
    
        std::string addressAsString( stream.str() );       
        std::cout << addressAsString << std::endl;
    
        return EXIT_SUCCESS;
    }
    

    Thanks anyway



  • manche dinge erledigen sich halt von selbst 😃


Anmelden zum Antworten