IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Conversion d'une chaine Unix -> windows ?


Sujet :

C

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Conversion d'une chaine Unix -> windows ?
    Bonjour,

    Mon programme en C tourne sous Unix. Il ecrit ses traces dans un fichier log "Unix" mais aussi parfois les mêmes informations (typiquement un message d'erreur) dans la base de données qui elle est accédée via un client et un serveur web sous Windows.
    => cela me pose des problèmes d'affichage avec les caractères accentués.

    Existe-il donc une fonction C (voir C++) qui permet de convertir un char Unix en char Windows ?

    Merci d'avance.
    Sébastien B.

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut Re: Conversion d'une chaine Unix -> windows ?
    Citation Envoyé par sber74
    Existe-il donc une fonction C (voir C++) qui permet de convertir un char Unix en char Windows ?
    En C99 uniquement mais ce n'est pas gagné : http://www.developpez.net/forums/viewtopic.php?t=445548

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Conversion d'une chaine Unix -> windows ?
    Merci pour la rapidité de la réponse et à ce que je vois c pas gagné !

    Je crois que je vais me contenter de supprimer les accents, ça sera plus simple !

    Et là je dis "vive la langue de shakespeare !"

  4. #4
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Et là je dis "vive la langue de shakespeare !"
    Alors là pas du tout, il existe des accents sur certains mots anglais, ces mots sont en fait d'origine française ... N'ayant pas d'inspiration pour l'instant je n'en trouve pas mais je te fais signe dès que j'en trouve un.

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Ben, pour commencer, ça dépend des charsets utilisés...
    Il faut trouver le charset utilisé par l'UNIX en question (généralement "ISO-8859-1 Latin 1", page de code 28591) et le convertir en le charset Windows (généralement "Windows-1252", page de code 1252 pour les affichages normaux; et "OEM" page de code 850 pour les consoles).

    Pour cela, tu peux utiliser (sous Windows) les fonctions de l'API MultiByteToWideChar() (qui convertit en Unicode UTF-16) puis WideCharToMultiByte() (pour convertir en texte 8bits Windows)
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Candidat au Club
    Inscrit en
    Janvier 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Conversion d'une chaine Unix -> windows ?
    Merci pour la réponse.
    Je pourrai pas l'implémenter sur ce coup là mais je mets ça de coté pour la prochaine fois.

  7. #7
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 89
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par PRomu@ld
    Alors là pas du tout, il existe des accents sur certains mots anglais, ces mots sont en fait d'origine française ... N'ayant pas d'inspiration pour l'instant je n'en trouve pas mais je te fais signe dès que j'en trouve un.
    le mot "fiancé", je viens de l'apprendre dans une leçon d'anglais o_O

  8. #8
    Membre habitué Avatar de Marco85
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    210
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 210
    Points : 187
    Points
    187
    Par défaut
    Citation Envoyé par PRomu@ld
    Et là je dis "vive la langue de shakespeare !"
    Alors là pas du tout, il existe des accents sur certains mots anglais, ces mots sont en fait d'origine française ... N'ayant pas d'inspiration pour l'instant je n'en trouve pas mais je te fais signe dès que j'en trouve un.
    vis-à-vis c'est anglais aussi ! et la traduction c'est : vis-à-vis de (bien sûr) ...

    Marco85
    If you cannot explain a concept to a six year-old, then you do not fully understand it. [Albert Einstein]

  9. #9
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA Excel] conversion d'une chaine en numérique
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/12/2005, 17h56
  2. [VBA][EXCEL]Conversion d'une chaine en single
    Par Ania dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/11/2005, 17h28
  3. conversion d'une chaine de caractère en int
    Par greg13 dans le forum C++
    Réponses: 3
    Dernier message: 25/08/2005, 16h18
  4. [string->HTML] Conversion d'une chaine en HTML
    Par salome dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 24/07/2005, 16h27
  5. Conversion d'une chaine de char en numerique
    Par simone.51 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 25/03/2004, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo