如何在C++中使用字符串std::thread::id
?我試圖將std::this_thread::get_id()
生成的輸出轉換爲字符串或char數組。如何將std :: thread :: id轉換爲C++中的字符串?
7
A
回答
15
auto myid = this_thread.get_id();
stringstream ss;
ss << myid;
string mystring = ss.str();
4
其實std::thread::id
是打印使用ostream
(見this)。
所以,你可以這樣做:
#include <sstream>
std::ostringstream ss;
ss << std::this_thread::get_id();
std::string idstr = ss.str();
4
「轉換」 std::thread::id
爲std::string
只是給你一些獨特的,但另有無用的文字。或者,您可以將其「轉換」爲一個小整數,便於人類識別:
std::size_t index(const std::thread::id id)
{
static std::size_t nextindex = 0;
static std::mutex my_mutex;
static std::map<std::thread::id, st::size_t> ids;
std::lock_guard<std::mutex> lock(my_mutex);
if(ids.find(id) == ids.end())
ids[id] = nextindex++;
return ids[id];
}
相關問題
- 1. 如何將std :: decimal :: decimal128轉換爲C++中的字符串
- 2. 如何將std :: string轉換爲C風格的字符串
- 3. 如何將char字符串轉換爲std字符串
- 4. 將std字符串轉換爲nsstring
- 5. C#如何將字符串轉換爲唯一的ID
- 6. 將C風格的字符串轉換爲C++ std :: string
- 7. 如何從字符串轉換Boost :: thread :: id?
- 8. 如何將Objective-C字符串轉換爲C字符串?
- 9. 在C++中將std :: string轉換爲Unicode字符串
- 10. 如何將字符串轉換爲C++中的字符數組?
- 11. 如何將字符串轉換爲C中的字符
- 12. C++ - 將字符串轉換爲字符
- 13. 轉換系統:字符串^(C#字符串)到C++的std :: string
- 14. 如何將字符串中的字母轉換爲數字 - C++
- 15. 如何將c字符串轉換爲d字符串?
- 16. 如何將C++字符串轉換爲.NET字符串^?
- 17. 如何使用C#將字符串轉換爲PascalCase字符串?
- 18. 將div ID轉換爲字符串
- 19. ActiveModel :: Serializer:將ID轉換爲字符串
- 20. 將ID /類轉換爲字符串
- 21. 如何將時間轉換爲c中的c字符串?
- 22. 如何將一個字符串轉換爲C#中的字節?
- 23. 如何將字符串轉換爲C#中的字節數組?
- 24. 將boost std :: string :: const_iterator轉換爲字符串和int C++
- 25. 將std :: string轉換爲c字符串數組
- 26. 將javascript字符串轉換爲MVC 4中的C#字符串?
- 27. 如何將單字節字符串轉換爲C++中的寬字符串?
- 28. C#將字符串轉換爲數字
- 29. 如何將字符串轉換爲Perl中的unicode字符串
- 30. 如何將字符串的字符串轉換爲字符?
「轉換」是什麼意思?你想用「轉換」的'std :: thread :: id'來做什麼? – Walter