如何处理libcurl中接收到的宽字符数据

问题描述 投票:0回答:1

我正在尝试使用 deepl API 通过 libcurl 发出发布请求。我不知道如何处理收到的宽字符数据。

有一个这样的函数,但它只能处理char*类型数据。

size_t write_callback(void *contents, size_t size, size_t nmemb, void *userp) {
    size_t realsize = size * nmemb;
    printf("%.*s", (int)realsize, (char *)contents);
    return realsize;
}

我怎样才能用函数实现这一点。

c curl httprequest libcurl deepl
1个回答
0
投票

C99 标准定义了一对用于 wchar_t 和 char(“多字节”)字符串之间转换的函数。您正在寻找 wcstombs (C99 7.20.8.2)(“宽字符字符串到多字节字符串”)。

幸运的是,POSIX 在这里反映了 C99 标准 - 与 C 标准不同,阅读 POSIX 是免费的。请参阅 wcstombs(3)

© www.soinside.com 2019 - 2024. All rights reserved.