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 d'allocation mémoire malloc


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 16
    Points : 16
    Points
    16
    Par défaut Pb d'allocation mémoire malloc
    Bonjour à tous,

    j'ai un problème d'allocation de mémoire je pense.
    Je déclare une variable comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    char* Retour = NULL;
    Retour = (char*)malloc(((Chemin_fichier_renomme.longueur_)+5)* sizeof(char));
    Puis je fais une boucle pour remplir Retour :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for(k=0; k<Chemin_fichier_renomme.longueur_; k++)
      {
        Retour[k] = Chemin_fichier_renomme.tableau_[k];
      }
    Puis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
      Retour[k] = '.';
      Retour[k+1] = 'h';
      Retour[k+2] = 't';
      Retour[k+3] = 'm';
      Retour[k+4] = 'l';
    Mais quand je regarde ce qu'il y a dans Retour il m'affiche bien le chemin du fichier "F:\.....\fichier.html" mais il me rajoute des caractères derrière.

    Pouvez-vous m'aider please ?

    Merci d'avance

  2. #2
    Expert éminent sénior

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

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 752
    Points : 10 683
    Points
    10 683
    Billets dans le blog
    3
    Par défaut
    Programmes-tu bien en C++, ou en C ?
    Car en C++, on utilise new, et même std::string dans le cas d'une chaîne de caractères.

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    je suis en C++

    comment devrais-je faire en c++ ?

    Merci d'avance

  4. #4
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Tu as oublié d'ajouter le caractère /0 qui indique la fin des chaînes de caractères.

  5. #5
    Membre à l'essai
    Inscrit en
    Novembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 16
    Points : 16
    Points
    16
    Par défaut
    j'ai redéclaré de la manière suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    char* Retour = new char[Chemin_fichier_renomme.longueur_];
    Cependant il me met toujours un caractère en plus.
    Où dois mettre /0 dans mon code ?

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920

Discussions similaires

  1. Problème allocation mémoire - malloc () 1Gb
    Par Gellius31 dans le forum Bibliothèque standard
    Réponses: 14
    Dernier message: 21/12/2007, 12h16
  2. Allocation mémoire : tableau vs malloc
    Par scorbo dans le forum Débuter
    Réponses: 4
    Dernier message: 15/06/2007, 12h47
  3. Réponses: 20
    Dernier message: 13/02/2007, 11h50
  4. [Pointeur] Allocation mémoire
    Par Rayek dans le forum Langage
    Réponses: 22
    Dernier message: 20/05/2005, 10h26
  5. Allocation mémoire dynamique
    Par ITISAR dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/01/2005, 09h59

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