Tôi có một tiêu chuẩn :: vectơ byte (char
), tôi muốn thực hiện tương đương với chỉ "Truyền kiểu C" vectơ này thành véc tơ thuộc loại wchar_t
. Rõ ràng, những gì tôi thực sự phải làm là để sao chép dữ liệu, nhưng điều ở đây là tôi đã có một dòng byte UTF-16 ở phía bên trái, tôi chỉ muốn di chuyển nó qua các vector wchar_t
sao cho Tôi có thể sử dụng nó. Lý tưởng nhất, tôi muốn chỉ trao đổi bộ đệm, nhưng tôi không chắc chắn cách thực hiện điều đó một cách an toàn ...Cách "truyền" một tiêu chuẩn :: vector <char> tới tiêu chuẩn :: vector <wchar_t>
Cách C++ hoạt động sao chép an toàn hiệu quả như thế nào?
LƯU Ý:
tôi làm lưu trữ UTF-16 dây của tôi như std::wstring
hoặc std::vector<wchar_t>
nhưng tôi có bộ nhớ đệm này mà tôi xảy ra cho biết là UTF-16, và tôi cần phải sao chép nó, bằng cách nào đó ...
gì? Bạn có dữ liệu UTF-16 được lưu trữ dưới dạng 'char'? Btw. chuyển đổi từ 'char' thành' wchar_t' được thực hiện bằng cách sử dụng 'widen', nhưng tôi đoán, đó không phải là những gì bạn muốn http://www.cplusplus.com/reference/std/locale/ctype/widen/ –
http://www.codeproject.com/Tips/196097/Converting-ANSI-to-Unicode-and-back?display=Print có thể trả lời nó –
Và để mở rộng nhận xét của Let_Me_Be: Tại sao bạn có dữ liệu UTF-16 được lưu trữ dưới dạng 'char'? – Griwes