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 :

pb REG_SZ pour la fonction RegSetValuEx


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de aaron4444
    Inscrit en
    Juin 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 113
    Par défaut pb REG_SZ pour la fonction RegSetValuEx
    salut a tous.

    j'ai deja mal posté mon message dans un autre sous forum, peut etre que j'ai pas lu assez d'regles, ou que j'ai pas fai attention,
    alors un petit souci que je rencontre dans la fonction RegSetValueExt en voila une portion du code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    TCHAR *dataSZ;
              dataSZ = new TCHAR[256];
              strcpy(dataSZ,"UNE_donnée");
              RegSetValueEx(key, "Valeur", 0, REG_SZ, (unsigned char*)&dataSZ, sizeof(PDWORD));
    jai bien compris que en fait lorsque je declare dataSZ comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    char dataSZ[256]="UNE DONNé PLUS DE 4 CARACTERES";
    //reste du code
    je remarque que dataSZ contient au plus 4 caracteres. je me trompe au niveau de quoi daprés vous?

    merci pour toutes vos reponses, et a bientot

  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 636
    Par défaut
    Salut,

    Sauf erreur, c'est parce que tu fournis comme dernier argument la taille d'un PWROD...

    Je ne serais en effet pas étonné plus que cela que le type PWORD soit... tout simplement un char[4]

    Pour autant que tu puisse fournir des valeurs de plus de 4 char, il faudrait passer la longueur de la chaîne et non la taille d'un PWORD sous une forme sans doute proche de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RegSetValueEx(key, "Valeur", 0, REG_SZ, (unsigned char*)&dataSZ, strlen(dataSZ));
    Ceci dit, on ne le répétera jamais assez, il est très largement conseillé d'éviter de recourir aux chaînes "C style" (un tableau de char terminé par '\0')...

    La classe std::string est bien plus sécurisante

    Cela te donnerait une code du genre de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    std::string dataSZ="tout ce que tu veux mettre ici";
    RegSetValueEx(key, "Valeur", 0, REG_SZ, dataSZ.c_str(), dataSZ.size());
    et cela te permettra même de créer ta valeur "à la volée"
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Membre confirmé Avatar de aaron4444
    Inscrit en
    Juin 2006
    Messages
    113
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 113
    Par défaut
    Citation Envoyé par koala01
    et cela te permettra même de créer ta valeur "à la volée"
    un grand merci a toi koala je ne savais pas cela auparvant
    encore merci et a bientot

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

Discussions similaires

  1. Demande pour la fonction backup
    Par mchicoix dans le forum XMLRAD
    Réponses: 3
    Dernier message: 13/03/2005, 15h52
  2. PB pour Appel fonction dans DLL sur Builder3
    Par Fbartolo dans le forum C++Builder
    Réponses: 15
    Dernier message: 10/03/2005, 12h58
  3. Réponses: 5
    Dernier message: 18/11/2004, 17h19
  4. Pourquoi une seule valeur de retour pour les fonctions ?
    Par Bruno75 dans le forum Langages de programmation
    Réponses: 33
    Dernier message: 18/01/2004, 13h58
  5. autre probleme pour deriver fonction
    Par voyageur dans le forum Mathématiques
    Réponses: 15
    Dernier message: 28/07/2003, 14h37

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