如何在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