我期待將boost :: uuid轉換爲const char *。什麼是轉換的正確語法?將boost :: uuid轉換爲char *
25
A
回答
36
你可以使用boost :: lexical_cast更簡單一點,它使用std :: stringstream。
#include <boost/lexical_cast.hpp>
#include <boost/uuid/uuid_io.hpp>
const std::string tmp = boost::lexical_cast<std::string>(theUuid);
const char * value = tmp.c_str();
10
您可以包含<boost/uuid/uuid_io.hpp>
,然後使用操作員將uuid轉換爲std::stringstream
。從那裏,這是根據需要標準轉換爲const char*
。
有關詳細信息,請參見the Input and Output second of the Uuid documentation。
std::stringstream ss;
ss << theUuid;
const std::string tmp = ss.str();
const char * value = tmp.c_str();
(有關爲什麼需要 「TMP」 字符串的詳細信息,see here。)
1
您在升壓/ UUID/uuid_io.hpp使用流功能。
boost::uuids::uuid u;
std::stringstream ss;
ss << u;
ss >> u;
26
以防萬一,也有boost::uuids::to_string
,該工作原理如下:
#include <boost/uuid/uuid.hpp>
#include <boost/uuid/uuid_io.hpp>
boost::uuids::uuid a = ...;
const std::string tmp = boost::uuids::to_string(a);
const char* value = tmp.c_str();
相關問題
- 1. boost :: interprocess ::字符串轉換爲char *
- 2. 將char *轉換爲boost :: array for socket使用
- 3. 如何將boost :: filesystem :: directory_iterator轉換爲const char *
- 4. boost :: asio buffer無法將參數從char轉換爲const mutable_buffer&
- 5. 將int轉換爲char
- 6. 將char *轉換爲int
- 7. 將char轉換爲ascii值
- 8. 將float轉換爲char *
- 9. C#將Char轉換爲KeyValue
- 10. 將char *轉換爲std :: vector
- 11. 將double轉換爲unsigned char?
- 12. 將char *轉換爲int
- 13. 將int轉換爲char
- 14. 將char []轉換爲off_t
- 15. Java:將char []轉換爲CharSequence
- 16. 將char轉換爲ASCII?
- 17. 將char * argv []轉換爲wstring
- 18. 將char轉換爲int?
- 19. 將char轉換爲NSString
- 20. 將Zval轉換爲char *
- 21. 將BSTR轉換爲char *
- 22. 將unsigned char轉換爲NSString
- 23. 將char []轉換爲System :: Object
- 24. F# - 將char轉換爲int
- 25. 將std :: string轉換爲char
- 26. 將int轉換爲char?
- 27. 將lptstr轉換爲char *
- 28. 將NSString轉換爲const char *
- 29. 將NSString *轉換爲char?
- 30. 將char轉換爲short
對於人與古升壓版本工作:這個方法在1.44介紹。見http://www.boost.org/doc/libs/1_43_0/boost/uuid/uuid_io.hpp http://www.boost.org/doc/libs/1_44_0/boost/uuid/uuid_io.hpp – user1556435 2016-02-17 14:44:01
This應該是正確的答案,恕我直言。 – 2016-06-22 18:36:52