我正在编写一个应用程序,目前正在使用libcurl。当我为Ansi字符集实现libcurl回调函数时,它工作得很好,但在处理Unicode字符时,我无法让它工作。
int CURLConnectorAnsi::BufferWriter(char* data, size_t size, size_t nmemb, std::string* buffer)
{
int ReadBytes = 0;
if (buffer != NULL)
{
buffer->append(data, size * nmemb);
ReadBytes = size * nmemb;
}
return ReadBytes;
}这段代码运行良好,并返回我已经阅读过的网站的内容。有人知道如何将数据正确地传递给wstring而不是string吗?
编辑:我试图得到一个正确的wchar_t*缓冲区的数据,而不是字符缓冲区(第一个参数是一个空*根据curl),我不想知道如何添加Ansi数据到一个Unicode缓冲区。
谢谢!
发布于 2009-09-03 10:14:56
基本上,它与curl无关,并且您面临着将utf-8转换为宽字符串的问题。你可以使用像Glib::ustring类这样的东西,或者自己实现它,或者看看this code。
https://stackoverflow.com/questions/1372554
复制相似问题