0
我有一個大的字符串緩衝區,並且輸入流讀二進制文件的一部分到預先存在的basic_string對象
basic_string<uint8_t> *buf = ......;
istream in = ......;
什麼是讀取文件的一部分到字符串的最有效方式?假設0xE3CC爲0x1A481th字節。
這裏的IStream ::閱讀似乎不是一個答案,因爲它讀取到原始的char []。由於數據非常大,因此有一個臨時變量是有效的。
可悲的是,我沒有的C++ 0x,所以不能使用copy_n。你會建議什麼?謝謝。
*「流::閱讀似乎不是一個答案,因爲它讀取到原始的char []。」 *進行串足夠大,然後通過'&BUF [0]',你是好去。 – jrok
但是C++中的字符串保證連續存儲嗎? –
@ user2139538:技術上 - 是的,請點擊此處閱讀:http://stackoverflow.com/questions/1986966/does-s0-point-to-contiguous-characters-in-a-stdstring –