Forum Programmation.c Iconv

Posté par (site web personnel) .
Étiquettes : aucune
0
7
juil.
2004
Je fais actuellement un programme qui convertit une source de donnée d'iso-8859-15 vers utf8 et vice versa
du moins j'essaye
et la fonction principale a savoir iconv
ne marche pas
j'obtiens comme erreur (dans errno):
iconv: Bad file descriptor
et évidement
pas la moindre idée de ce que ca vient faire la dedans
si quelqu'un a une idée......
(bon j'avoue c'est pour un bot irc pour que #linuxfr soit accessible en utf8)
  • # iconv_

    Posté par . Évalué à 3.

    #include <langinfo.h>
    #include <iconv.h>

    char* iconv_(char* s, char* from_charset, char* to_charset) {
    iconv_t cd = iconv_open(to_charset, from_charset);
    char* retval = s;
    if (cd != (iconv_t) (-1)) {
    size_t s_len = strlen(retval);
    /* the maximum expansion when converting happens when converting
    tscii to utf-8; each tscii char can become up to 4 unicode chars
    and each one of those unicode chars can be 3 bytes long */
    char *buf = alloca(4 * 3 * s_len);
    {
    char *ptr = buf;
    size_t ptr_len = 4 * 3 * s_len;
    if ((iconv(cd, &s, &s_len, &ptr, &ptr_len)) != (size_t) (-1)) {
    *ptr = 0;
    retval = buf;
    }
    }
    iconv_close(cd);
    }
    return strdup(retval);
    }
  • # Vala c'est pret

    Posté par (site web personnel) . Évalué à 0.

    Vala mon bot est pret sur #linuxfr et fonctionnel :)
    donc ceux qui veulent utiliesr l'utf8 c'est #linuxfr_utf8
    comme ca y aura plus de ralleurs :)
    donc merci gc :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.