请教iconv报错[not enough space]
#include <iconv.h>
#include <stdio.h>
#include <locale.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <strings.h>
int main(int argc, char * argv[])
{
int ret;
char *str = (char*)malloc(10);
int src_len;
int dest_len;
char *dest;
iconv_t conv, conv2;
strcpy(str, "test");
src_len = strlen(str)+ 1;
dest_len = 1000;
dest = (char*)malloc(dest_len);
bzero(dest, dest_len);
conv = iconv_open("ISO-8859-1", "UTF-8");
if (conv == (iconv_t)-1) {
printf("iconv_open: errno[%d]msg[%s]n", errno, strerror(errno));
return -1;
}
ret = iconv(conv, (char**)&str, &src_len, &dest, &dest_len);
if (ret == -1) {
printf("iconv: [%d][%s]n", errno, strerror(errno));
return -1;
}
printf("%s - %Sn", str, dest);
iconv_close(conv);
free(dest);
free(str);
return 0;
}
执行结果iconv: [12][Not enough space]
请问什么原因啊?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论