我想將boost :: asio :: streambuf轉換成std :: string。
我該如何輕鬆做到這一點?如何將boost :: asio :: streambuf轉換爲std :: string?
3
A
回答
1
沒試過,但如果我正確地閱讀文檔,這個類從std::streambuf
繼承,在這種情況下,你可以這樣做:
std::istream buffer(my_asio_streambuf_ptr);
std::stringstream string_buffer;
buffer >> string_buffer.rd_buf();
有很多方法可以做到這一點,每個人都有它的優點和缺點。如果你能更詳細地解釋你的問題,我們可以提供更具體的幫助。
0
像這樣的東西可能是你追求的:
boost::asio::streambuf myBuffer;
std::string myString;
// Convert streambuf to std::string
std::istream(&myBuffer) >> myString;
5
我用這種形式給出:
boost::asio::streambuf stream_buf;
...
std::string s((std::istreambuf_iterator<char>(&stream_buf)), std::istreambuf_iterator<char>());
你可以閱讀從其他類型的數據流,F.E.,ifstream的整體數據。
相關問題
- 1. boost :: asio :: streambuf爲空?
- 2. boost :: asio :: async_read和boost :: asio :: streambuf
- 3. 何時調用boost :: asio :: streambuf :: consume()和boost :: asio :: streambuf :: commit()?
- 4. 如何將System :: String ^轉換爲std :: string?
- 5. 如何從Boost ASIO streambuf讀取?
- 6. 如何連接兩個boost :: asio :: streambuf的?
- 7. 如何將std :: string轉換爲boost :: gregorian :: date?
- 8. 如何將Glib :: ustring轉換爲std :: string?
- 9. 如何將wchar_t *轉換爲std :: string? ?
- 10. 如何將std :: string轉換爲LPCSTR?
- 11. 如何將unicode QString轉換爲std :: string?
- 12. 將NSString轉換爲std :: string
- 13. 將std :: string轉換爲QString
- 14. 將std :: string轉換爲basic_ostream?
- 15. 將uint64_t轉換爲std :: string
- 16. 將void *轉換爲std :: string
- 17. 將std :: string轉換爲char
- 18. C++/CX:將std :: string轉換爲Platform :: String^
- 19. 將std :: ostream轉換爲std :: string
- 20. boost :: asio :: streambuf斷言「迭代器出界」
- 21. boost :: asio :: streambuf - 鏈接器錯誤
- 22. 錯誤C2664從常量的std :: string轉換爲的std :: string&
- 23. 將std :: iterator對轉換爲boost :: iterator_range
- 24. 如何使用Boost :: asio異步讀取到std :: string?
- 25. 從std :: string轉換爲NSString
- 26. 如何將UTF-8 std :: string轉換爲UTF-16 std :: wstring?
- 27. 無法將參數2從'std :: string *'轉換爲'std :: string'
- 28. 將void *(char * without \ 0)轉換爲std :: string
- 29. 在C++中將float轉換爲std :: string
- 30. 將奇怪的std :: string轉換爲NSString
這將只抓取第一組字符。它在讀入空格時會停止。 – 2013-04-22 06:37:17