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 :

programme mot de passe


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 10
    Par défaut programme mot de passe
    Bonjour à tous ^^ .

    Alors je developpe un programme qui gère les mot de passe d'une entreprise et qui devra les changer automatiquement à une date voulu.
    Pour changer les mot de passe, j'utiliserai la fonction
    NetUserChangePassword()
    Qui demande 4 wchar_t en paramètre.
    Dans mon programme de test, j'ai fait en sorte que je devais taper le vieu mdp et le nouveau et cliquer sur un bouton pour effectuer le changement.
    Malheureusement, je n'arrive pas à effectuer la convertir d'une chaine ansistring en wchar_t

    Quelqu'un connait-il une fonction permettant cette conversion ? merci d'avance
    cordialement, bloowind.

  2. #2
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2006
    Messages : 58
    Par défaut
    Essaie MultiByteToWideChar.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 10
    Par défaut
    bizarre ta fonction, je ne voit pas trop la correspondance avec ansistring en wchar_t...

  4. #4
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2006
    Messages : 58
    Par défaut
    MultiByte est la chaine ANSI, et WideChar est la chaine Unicode (wchar).

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 10
    Par défaut
    oui mais cette fonction me demande pas loin de 5 ou 6 paramètres ...

  6. #6
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2006
    Messages : 58
    Par défaut
    Effectivement le prototype de la fonction est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    int MultiByteToWideChar(
      UINT CodePage,         // code page
      DWORD dwFlags,         // character-type options
      LPCSTR lpMultiByteStr, // string to map
      int cbMultiByte,       // number of bytes in string
      LPWSTR lpWideCharStr,  // wide-character buffer
      int cchWideChar        // size of buffer
    );
    Mais certains paramètres peuvent être faciles à utiliser : pour CodePage je te conseille CP_ACP, ie la code page courante, et pour cbMultiByte -1 indique qu'il faut convertir toute la chaine.

    Il ne te reste donc plus qu'à allouer ton buffer résultat, ce qui donne un code du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    char *chaine_src = "Hello world !"; // par exemple
    wchar_t *bufferResu = new wchar_t[TAILLE_BUFFER];
    if(MultiByteToWideChar(CP_ACP, 0, chaine_src, -1, bufferResu, TAILLE_BUFFER) == 0)
       // traiter l'erreur
    else
       // la chaine a été convertie dans BufferResu

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 18/10/2013, 09h57
  2. Réponses: 2
    Dernier message: 10/02/2011, 21h19
  3. programme mot de passe
    Par ingyam dans le forum Débuter
    Réponses: 2
    Dernier message: 06/04/2009, 13h22
  4. Mot de passe sur programme Delphi
    Par michaellynx dans le forum Débuter
    Réponses: 7
    Dernier message: 26/11/2007, 17h57

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