偶然看 chrome中发现一错误
template <typename charT> HGLOBAL CreateGlobalData(const std::basic_string<charT>& str) { HGLOBAL data = ::GlobalAlloc(GMEM_MOVEABLE, ((str.size() + 1) * sizeof(charT))); if (data) { charT* raw_data = static_cast<charT*>(::GlobalLock(data)); memcpy(raw_data, str.data(), str.size() * sizeof(charT)); raw_data[str.size()] = '/0'; ::GlobalUnlock(data); } return data; };
raw_data[str.size()] = '/0';中的长度是错误的..