C语言中字符编码转换类库libiconv的iconv函数到底应该怎么使用?
在C语言中使用iconv函数来转换字符串的字符编码,字符不多的时候可以执行一次iconv转换完成。但字符串字符特别多的时候,一次执行只能转换开始的一小部分。我搜来搜去,大部分都是只能用于数据量少的解决方案和示例代码。。。
现在我已经知道四个指针参数会在执行成功后改变里面的数值,inbuff指针会递增到未转换的位置,inlen会递减,改变成还未转换的长度。outbuff指针会移动到已经处理数据的结尾,outlen好像改变成输出缓冲区剩余的空间大小(这个我不确认)。
接下来要怎么给下一次iconv执行传参数?四个参数分别要传入什么,才能让下一次执行继续转换前面未处理完成的数据?
搜来搜去搞了两天了,除了第一次执行iconv正常,后面的数据怎么处理,如何取,就是搞不成功。
求帮助