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 :

question sur l'allocation de char


Sujet :

C++

  1. #1
    Débutant  
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Points : 217
    Points
    217
    Par défaut question sur l'allocation de char
    bonjour

    j'ai une petite question concernant l'allocation de char.
    La fonction suivant est sensée générée une clef constituée de 6 char aléatoirement avec la fonction die.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    const char*  genkey( ){
     
    char*buf=new char[6];
    char x1=die();char x2 =die();char x3 =die();char x4 =die();  char x5 =die();    char x6 =die(); 
    buf[0]=x1;buf[1]=x2;buf[2]=x3;buf[3]=x4;buf[4]=x5;buf[5]=x6;
    return (const char*)buf;
    }
    Mais quand j'alloue buf, voila ce que je vois avec Visual Studio (cf PJ).

    On voit bien les 6 premiers char, mais après, il y a des symboles bizarres, comme par exemple les <<<<.

    Comment puis-je faire pour que cela me génère uniquement 6 char.
    En fait, c'est un pb d'allocation, et ce n'est pas du à ma fonction.

    Merci
    Images attachées Images attachées  

  2. #2
    Membre expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Points : 3 156
    Points
    3 156
    Par défaut
    Salut

    c'est normal car visual studio t'affiche une chaîne et la définition d'une chaîne, c'est un tableau de char qui se termine par le char '\0'. Essayer de mettre '\0' en 6ème ou 7ème char et ça devrait régler ton souci dans visual ^^. Par contre je pense qu'il n'y en a aucun dans le programme.
    Find me on github

  3. #3
    Débutant  
    Inscrit en
    Novembre 2006
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 073
    Points : 217
    Points
    217
    Par défaut
    Ça marche merci
    j'avais complètement oublié qu'une chaîne devait toujours se terminer par 0.

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

Discussions similaires

  1. Question sur les chaines de char
    Par japey dans le forum Débuter
    Réponses: 5
    Dernier message: 03/03/2011, 11h09
  2. question sur l'allocation sur le tas
    Par deubelte dans le forum C++
    Réponses: 7
    Dernier message: 03/04/2010, 10h56
  3. Question sur l'allocation de mémoire
    Par Fonzy007 dans le forum Linux
    Réponses: 8
    Dernier message: 26/12/2006, 09h29
  4. Réponses: 6
    Dernier message: 07/05/2006, 21h42
  5. question sur l'allocation dynamique
    Par velociraptor5679 dans le forum C++
    Réponses: 12
    Dernier message: 29/04/2006, 23h41

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