Speicheradresse mit WriteLine() anzeigen ?!
-
Freitag, 24. Februar 2012 20:44
#include "stdafx.h" #include <iostream> using namespace System; int main() { int *i_ptr; int i = 12; i_ptr = &i; std::cout << "Adresse von i = " << i_ptr << std::endl; // Console::WriteLine("Adresse von i = " + i_ptr); Console::ReadLine(); return 0; }
Ich übergebe die Speicheradresse von i an i_ptr. (dachte ich zumindest :-) )
Kann mir jemand sagen wie ich mit WriteLine() z.B. wie im Code Console::WriteLine("Adresse von i = " + i_ptr); die Speicheradresse ausgeben kann, bzw. in einem zweiten Schritt als Variable abzuspeichern.
Alle Antworten
-
Samstag, 25. Februar 2012 01:45
Kannst du nicht direkt mit
std::cout << "Adresse von i = " << &i << std::endl;
Die Adresse ausgeben?
Oder eben mitstd::cout << "Adresse von i = " << *i_ptr << std::endl;
-
Samstag, 25. Februar 2012 08:38
Das funktioniert ja.
std::cout << "Adresse von i = " << i_ptr << std::endl;
Aber ich will es ja mit WriteLine() ausgeben können.
z.B. Console::WriteLine("Adresse von i = " + i_ptr);
und das funktioniert nicht weil der Compiler meckert.
Und selbst hier :
Console::WriteLine(i_ptr);
erhalte ich als Ausgabe das Ergebnis: True was ich momentan auch nicht verstehe..
-
Samstag, 25. Februar 2012 08:49Moderator
C++/CLI kennt keine Zeiger Werte. Dukannst nichtmit WriteLine Speicheradressenausgeben außer Du castest diese mit nativem Code, also in etwas so:
reinterpret_cast<LONG_PTR>(i_ptr)
Ansonsten vergiß C++/CLI, außer Du bist darauf angewisen.
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
- Als Antwort vorgeschlagen Martin RichterMVP, Moderator Samstag, 25. Februar 2012 12:21
- Als Antwort markiert Robert BreitenhoferMicrosoft Contingent Staff, Owner Mittwoch, 14. März 2012 12:02
-
Samstag, 25. Februar 2012 09:23
Danke für die Antwort :-)

