0
A
回答
2
爲了得到一個陣列(或載體,如果你更喜歡)的地址的實際字節,這應該是訣竅:
int foo = 10;
int* bar = &foo;
// Interpret pointer as array of bytes
unsigned char const* b = reinterpret_cast<unsigned char const*>(&bar);
// Copy that array into a std::array
std::array<unsigned char, sizeof(void*)> bytes;
std::copy(b, b + sizeof(void*), bytes.begin());
獲取包含十六進制表示的陣列分成單個字符(這使得任何意義上的),我會使用一個字符串流 - 因爲有些人已經建議。你也可以使用snprintf來獲取地址的字符串表示,但這更多的是C風格的方式。
// Turn pointer into string
std::stringstream ss;
ss << bar;
std::string s = ss.str();
// Copy character-wise into a std::array (1 byte = 2 characters)
std::array<char, sizeof(void*) * 2> hex;
std::copy(s.begin(), s.end(), hex.begin());
2
的最簡單的方法是做
char buf[sizeof(void*) * 2 + 3];
snprintf(buf, sizeof(buf), "%p", /* the address here */);
0
void storeAddr(vector<string>& v,void *ptr)
{
stringstream s;
s << (void*)ptr ;
v.push_back(s.str());
}
+0
這裏的演員什麼都不做;它從'void *'投射到'void *' – Dave
1
1
C++方式DOS這是使用字符串流
#include <string>
#include <sstream>
int main()
{
MyType object;
std::stringstream ss;
std::string result;
ss << &object; // puts the formatted address of object into the stream
result = ss.str(); // gets the stream as a std::string
return 0;
}
相關問題
- 1. 將字符串的地址存儲在字符串數組中
- 2. C# - WinRT - 將存儲爲字節數組的IPv6地址轉換爲字符串
- 3. C++ - 將BLOB存儲爲字符串
- 4. 爲什麼我可以在字符的內存地址中存儲字符串?
- 5. 將輸入字符串存儲到C
- 6. C++存儲字符串輸入爲cstring
- 7. 將字符串地址轉換爲int地址
- 8. c:在編譯時將ipv6地址轉換爲字符串
- 9. C# - WinRT - 將IPv4地址從uint轉換爲字符串?
- 10. 如何將JAXBelement存儲爲字符串?
- 11. MATLAB將字符串存儲爲數組
- 12. 將XML存儲爲字符串
- 13. 將字符串存儲在本地存儲中
- 14. Mortorola 68k:如何將字符串ASCII存儲在地址寄存器中a0
- 15. 存儲XML爲字符串
- 16. LINQ - 存儲爲字符串
- 17. C++地址字符串 - >長
- 18. Objective C字符串操作IP地址
- 19. 將字節值存儲在字符串中?將字節轉換爲字符串?
- 20. 將dword存儲到地址
- 21. C#將字符串變量存儲爲文本文件.txt
- 22. C++將修改後的MySQL時間戳存儲爲字符串
- 23. 如何將if語句存儲爲字符串? C#
- 24. 如何將字符串文字存儲在內存中的c + +?
- 25. 如何使用逗號將字符串拆分爲兩個字符串並存儲字符串? (C++)
- 26. 如何將UTF-16字符作爲字符串存儲在c#中?
- 27. 將列表變量存儲爲字符串並將其存儲爲變量
- 28. 在C中尋址字符串文字的地址
- 29. 存儲字符串
- 30. 存儲字符串
將每個字符即地址添加到向量中? – Dineshkumar
請參閱http://stackoverflow.com/questions/7850125/convert-this-pointer-to-string。 – user1929959
@Dineshkumar,現在更清楚了嗎? – Subway