Помогите разобраться с libiconv
Форум — Development
Скачал с http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz libiconv-1.14. Собрал с помощью mingw эту библиотеку под windows. Шедшая с ней в качестве примера iconv_no_i18n , нормально работает и все конвертит. Пишу свой код:
#include "testiconv.h"
void readdata(char** buf, size_t len){
FILE *pFile = fopen ("in.txt","r");
if (pFile!=NULL)
{
printf("readf file in.txt \n\n") ;
fread(*buf, 1, len, pFile);
fclose(pFile);
}
}
void writedata(char* buf, size_t len){
FILE *pFile = fopen ("out.txt","w");
if (pFile!=NULL)
{
printf("write file out.txt \n\n") ;
fwrite(buf, 1, len, pFile);
fclose(pFile);
}
}
int main(int argc, char* argv[])
{
char input[BUFSIZ];
char output[BUFSIZ];
FILE * pFile;
size_t insize = BUFSIZ;
size_t outsize = BUFSIZ;
char *outp = (char *)output;
char *inp = (char *)input;
iconv_t cd = iconv_open((const char* )"CP1251",(const char *) "UTF-8");
readdata(&inp,256) ;
insize = 256;
printf("1: in-str=%s \n len=%d \n ===================== \n", input,insize);
iconv(cd, NULL, NULL, NULL, NULL);
iconv(cd, &inp, &insize, &outp, &outsize);
iconv_close(cd);
printf("2: out-str=%s \n len=%d \n ===================== \n", output,outsize);
writedata(output,outsize) ;
return 0;
}