Здравствуйте. Пытаюсь простой пример выполнить - не хочет работаь. На выходе пустая строка. Что не так с кодом, где ошибка? #include <stdio.h> #include <stdlib.h> #include <string.h> #include <iconv.h> #include <errno.h> char* convert(const char* s, const char* from_cp, const char* to_cp) { char* t = (char*)malloc(strlen(to_cp)); strcpy(t, to_cp); iconv_t ic = iconv_open(strcat(t, "//IGNORE"), from_cp); if (ic == (iconv_t)(-1)) { fprintf(stderr, "iconv: cannot convert from %s to %s\n", from_cp, to_cp); return ""; } char* out = (char*)calloc(strlen(s), sizeof(char)); char* in = (char*)malloc(strlen(s)); strcpy(in, s); size_t in_ln = strlen(s); size_t out_ln = strlen(s); size_t k = iconv(ic, &in, &in_ln, &out, &out_ln); if(k < strlen(s)) fprintf(stderr, "iconv: %d of %d converted\n", k, strlen(s)); fprintf(stderr, "iconv: %s\n", strerror(errno)); iconv_close(ic); free(t); return out; } int main() { char* s = convert("Тестовая строка", "utf-8", "cp1251"); printf("CP1251: %s\n", s); return EXIT_SUCCESS; }
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от ip1981
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от ip1981
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от php-coder
Ответ на:
комментарий
от Barlog_M
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум iconv: проблемы с переименованием. (2006)
- Форум Не получается iconv cp1251 > utf8 (2013)
- Форум Затык с iconv (на С) (2005)
- Форум C++/Странная работа iconv (2011)
- Форум iconv() function (2002)
- Форум iconv - почему получаю invalid argumests (2004)
- Форум cp1251<->utf8 через iconv (2003)
- Форум Поясните поведение mbstowcs (2010)
- Форум Не могу разобраться с ошибкой сегментирования (2017)
- Форум Segmentation fault (2009)