2013-10-23 60 views

回答

0

如果我是你,我會寫一個包裝函數來處理它,因爲你不能簡單地將basic_ostream<char>投射到basic_ostream<unsigned char>。像下面可能做的伎倆(注:未經測試的代碼)

void wrapper(basic_ostream<char>& os) 
{ 
    basic_stringstream<unsigned char> us; 
    write_sth_to(us); 
    transform(istream_iterator<unsigned char>(us), 
       istream_iterator<unsigned char>(), 
       ostream_iterator<char>(os, ""), 
       char_to_unsigned_char 
    ); 
} 

在功能char_to_unsigned_char是你自己寫的東西(我不知道你是怎麼打算的兩種類型之間的轉換)。記住這個沒有經過測試,但它可能會讓你知道從哪裏開始。

相關問題