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

Boost C++ Discussion :

Configurer boost / regex.


Sujet :

Boost C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 34
    Par défaut [Regex]Configurer boost / regex.
    Bonjour,

    je voudrais utiliser les fonctions Regex de boost ( la version de base type POSIX).

    Je l'ai installé et tous semble marcher sauf que les fonctions utilisent le type WCHAR et que j'ai besoin d'utiliser le type CHAR ...

    j'ai lu la doc, cela à l'air d'être possible mais je suis pas assez fort en C et en anglais pour la mettre en oeuvre correctement.

    Quelqu'un pouurait-il me donner un coup de main ???

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Les objets existent sous plusieurs formes, une forme pour std::string et une autre pour std::wstring, par exemple.
    La forme par défaut est pour std::string.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 34
    Par défaut
    Sur cette ligne :

    err = regcomp (&preg,reg_exp, REG_EXTENDED);

    j'ai ce type d'erreur :

    error C2664: 'boost::regcompW' : cannot convert parameter 2 from 'char *' to 'const wchar_t *'

    je ne peux pas utiliser le type Char pour le motif de recherche ?

  4. #4
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Visiblement, non, car tu utilises du code pour des chaînes Unicode.
    Choisis une bonne fois pour toute si tu veux de l'Unicode ou non, puis trouve toutes les fonctions correspondantes afin de pouvoir écrire un code manipulant de l'Unicode ou pas, mais pas les deux.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 34
    Par défaut
    Qu'est ce que tu entends par "tu utilises du code pour des chaines Unicode"?

    Le code provient d'un programme écris sur Mac que je dois porter sous Windows.
    Toutes mes données sont définis de types Char, je n'ai pas l'usage de l'Unicode.

    Que faire ?

  6. #6
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Citation Envoyé par loufoque
    Les objets existent sous plusieurs formes, une forme pour std::string et une autre pour std::wstring, par exemple.
    La forme par défaut est pour std::string.
    Je te parle de ce que je cite ici.

    Tu as des erreurs parlant de wchar_t, ce qui concerne l'unicode. Ta fonction attend un caractère unicode, et tu lui donnes un caractère "non unicode".

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 34
    Par défaut
    Oui, c'est bien ce que j'ai compris. Alors comment faire pour que la fonction attende un argument de type Char ?

    Ce que j'ai lu dans la doc me fait penser que c'est possible, je pensais même que c'était la configuration par défaut, mais çà n'a pas l'air d'être le cas

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 34
    Par défaut
    Je viens de penser à quelque chose en lisant une doc.

    Le support pour Unicode, ça se demande à l'installation de la librairie ?

    Si c'est le cas, j'ai peut-être coché la case Unicode à l'installation en pensant que çà pourrait toujours servir ...

  9. #9
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Tu as peut etre simplement la macro UNICODE de défini. Je suppose que tu programmes avec VC++ 2005. Va dans les propriétés de ton projet->propriétés de config->general->Jeu de caracteres, et change pour MBCS.

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

Discussions similaires

  1. BOOST :: REGEX et UNICODE
    Par Jah77 dans le forum Boost
    Réponses: 3
    Dernier message: 28/01/2009, 22h17
  2. BOOST :: REGEX PATTERN IMPOSSIBLE ?
    Par Jah77 dans le forum Boost
    Réponses: 2
    Dernier message: 26/01/2009, 14h50
  3. BOOST :: REGEX INSERTION
    Par Jah77 dans le forum Boost
    Réponses: 2
    Dernier message: 20/01/2009, 10h25
  4. [boost] Regex search : trouver l'index
    Par Choupi dans le forum Boost
    Réponses: 4
    Dernier message: 03/12/2007, 11h17

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