1

我正在编写一个应用程序,我目前正在使用 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 而不是字符串?

编辑:我试图设法在字符缓冲区的正确 wchar_t* 缓冲区中获取数据(第一个参数是 void* 根据 curl),我不想知道如何将 Ansi 数据添加到Unicode 缓冲区。

谢谢!

4

1 回答 1

2

基本上,它与您无关,curl您面临转换utf-8为宽字符串的问题。您可以使用类Glib::ustring之类的东西或自己实现它,或查看此代码

于 2009-09-03T10:14:55.690 回答