2009-12-15 49 views
0

因此,它可能是聲音,作爲一個新手真的問題...而且proboly是新手:)提升緩衝成char *(沒有的std :: string)

我嘗試從升壓轉信息來源:: ASIO ::我得到了streambuf,使用read_until進入char *。我發現了許多將它轉換爲std :: string的例子,但我很生氣,如果在應用程序中使用bufer - > std :: string - >c_str,需要一個很高的perfomanse。 (但事實上,我實際上並不像真實的東西那樣。)

+0

有兩件事情...... 我是真的俄羅斯年輕的編碼器,所以我可以使英語一些錯誤)...... 如果我的Q值。是兩個simle,只是像「閱讀手冊懶傢伙」通訊,讓我知道,我的q。是不是很奇怪地回答它... – 2009-12-15 19:32:26

+0

嘗試使用不同的boost :: asio讀取函數。使用其中一個將數據直接存儲到char數組而不是streambuf的重載。 – Dan 2009-12-17 13:25:13

回答

1

你假設將std :: string轉換爲C字符串會傷害性能。

這不應該被假設。 std :: string通常作爲C字符串的包裝來實現。

如果您對當前性能不滿意,請先在代碼上使用運行時分析器。

+0

M ...好的...謝謝... 我曾經看過只有從streambuf做的這樣做的流程(現在速度很慢),現在我找到了更好的方法。 (通過迭代器) – 2009-12-16 15:59:33