Блин, глаза слипаются, с С уже года полтора не сталкивался. Памажыте, плз...
Вроде все как надо.. Где ошибка (кроме ДНК)
#include <iconv.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
int main(){
size_t ret;
size_t size1;
size_t size2;
char *inp;
char *res;
iconv_t link;
link = iconv_open("WINDOWS-1251","KOI8-R");
res = (char *)malloc(50);
inp = (char *)malloc(50);
scanf("%s",inp);
size1 = strlen(inp);
size2 = size1;
printf("input: \"%s\" (length: %d)\n",inp,size1);
ret = iconv(link,(char **) &inp, &size1, (char **)&res, &size2);
printf("result: %d, errno: %d\n",ret,errno);
printf("ouput: \"%s\" (length: %d %d)\n",res,strlen(res),size2);
printf("decoded: %i of %i\n",size2,size1);
iconv_close(link);
return 0;
}
Запускаю сие так:
gcc testiconv.c -o testiconv ; echo "фвываыва"|./testiconv
Получаю:
input: "фвываыва" (length: 8)
result: 0, errno: 0
ouput: "d symbol: gconv_end" (length: 19 0) (мусор в output, левая длина)
decoded: 0 of 0
При других комбинациях кодировок случается result=-1...
glibc v2.3.4
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум c и iconv - помогите разобраться (2008)
- Форум iconv: проблемы с переименованием. (2006)
- Форум cp1251<->utf8 через iconv (2003)
- Форум Не получается iconv cp1251 > utf8 (2013)
- Форум C++/Странная работа iconv (2011)
- Форум Разное поведение vsnprintf в linux и msys (2016)
- Форум Помогите разобраться с libiconv (2012)
- Форум Поясните поведение mbstowcs (2010)
- Форум [C] Проблема с towlower и кодировками. (2010)
- Форум Юникод чтение и запись в файл с произвольной кодировкой (2017)