// reco.c
#include <iconv.h>
#include <errno.h>
#include <stdio.h>
int main()
{
iconv_t xz;
xz=iconv_open("CP1251","UTF8");
size_t outbufleft,inbufleft;
inbufleft=1;
outbufleft=2;
char *x=new char[2];
x[2]='А';x[3]='\x0';
char *outbuf=new char[3];
int t=iconv(xz,&x,&inbufleft,&outbuf,&outbufleft);
printf ("Number translated bytes=%d\n",t);
printf("outbuf[0]=%x\n",outbuf[0]);
printf("outbuf[1]=%x\n",outbuf[1]);
printf ("errno=%d\n",errno);
printf ("x[0]=%x\n",(unsigned int)x[0]);
printf ("x[1]=%x\n",(unsigned int)x[1]);
printf ("inbufleft=%d\n",inbufleft);
printf ("outbufleft=%d\n",outbufleft);
iconv_close(xz);
return 0;
}
g++ reco.c -o reco
результат следующий:
# ./reco
Number translated bytes=0
outbuf[0]=0
outbuf[1]=0
errno=0
x[0]=0
x[1]=ffffffc0
inbufleft=0
outbufleft=1
Подскажите плс кто делал перекодировку, где я что неправильно написал или забыл.
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум c и iconv - помогите разобраться (2008)
- Форум iconv() function (2002)
- Форум Затык с iconv (на С) (2005)
- Форум iconv: проблемы с переименованием. (2006)
- Форум C++/Странная работа iconv (2011)
- Форум iconv - почему получаю invalid argumests (2004)
- Форум SHA256 хеш, в чем проблема (2011)
- Форум string && find (2004)
- Форум Интересно! (2004)
- Форум посоветуйте как оптимальней портировать qnx posix non-compatible код на линукс (2006)