注意:
(一)size_t iconv (iconv_t cd,
const char* * inbuf, size_t * inbytesleft,
char* * outbuf, size_t * outbytesleft);
函数iconv在调用之后输出的* outbytesleft值并非转码输出的字节长度,而是说明了outbuf中有多少字节剩余,所以应该在函数调用之前先保存* outbytesleft的值(outsize = * outbytesleft),在函数调用之后再outsize - * outbytesleft,就得到转码后输出的字符串的字节数了。
(二)
函数iconv在调用会改变outbuf的值,所以调用函数之前应该先保存其原始值,以便获得转码后的数据
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <st
(一)size_t iconv (iconv_t cd,
函数iconv在调用之后输出的* outbytesleft值并非转码输出的字节长度,而是说明了outbuf中有多少字节剩余,所以应该在函数调用之前先保存* outbytesleft的值(outsize = * outbytesleft),在函数调用之后再outsize - * outbytesleft,就得到转码后输出的字符串的字节数了。
(二)
函数iconv在调用会改变outbuf的值,所以调用函数之前应该先保存其原始值,以便获得转码后的数据
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <st