我有一個unsigned char數組,我需要一個std :: string,但我目前的方式使用reinterpret_cast,我想避免。有沒有更乾淨的方法來做到這一點?如何將unsigned char轉換爲不帶reinterpret_cast的std :: string?
unsigned char my_txt[] = {
0x52, 0x5f, 0x73, 0x68, 0x7e, 0x29, 0x33, 0x74, 0x74, 0x73, 0x72, 0x55
}
unsigned int my_txt_len = 12;
std::string my_std_string(reinterpret_cast<const char *>(my_txt), my_txt_len);
爲什麼你不喜歡'reinterpret_cast' ...? – egrunin 2010-05-15 16:40:59
對於強制演員來說,它總是看起來像是黑客,我寧願按照現狀使用,而不是強迫編譯器把它們當作別的東西。 – WilliamKF 2010-05-15 17:43:01
爲什麼不用'char'作爲'my_txt';畢竟,你發佈的這些值是ASCii。這可能會導致解決其他問題。 – 2010-05-15 19:04:26