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 :

Probleme avec delete[]


Sujet :

C++

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Probleme avec delete[]
    Bonjour j'ai implémenté le code suivant sur visual c++ V6 et j'ai des probleme et je vois pas la cause de probleme!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #include <iostream.h>
    #include <string.h>
    void main()
    {
    	char* c=new char;
    	strcpy(c,"anis");
    	cout<<c<<endl;
    	delete[] c;
    }
    merci pour votre aide.


    balises [code] rajoutées par r0d. Merci d'y penser dorénavant.

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 590
    Points
    41 590
    Par défaut
    Tu alloues de la place pour un seul char et tu cherche à en faire y entrer cinq...

    De plus,
    1. main() retourne toujours un int.
    2. <iostream.h> est obsolète, il faut utiliser <iostream> à la place (sans oublier le namespace std).
    3. <string.h> est obsolète en C++, il faut utiliser <cstring> à la place.

  3. #3
    Membre habitué Avatar de Ksempac
    Inscrit en
    Février 2007
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 165
    Points : 185
    Points
    185
    Par défaut
    delete [] s'utilise pour detruire des objets créés par new []

    delete s'utilise pour detruire des objets créés par new

    Cela dit ton code ressemble plus a du C qu'a du C++ : remplace donc ton char* par un std::string

  4. #4
    Candidat au Club
    Inscrit en
    Mars 2007
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    merci pour votre reponce
    en fait mon reel probleme est d'allouer une zone memoire pour contenir une chaine de caractaire dont on ignore a l'avance sa taille et puis libere cette zone memoire.
    alors comment faire en c++.
    merci

  5. #5
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 266
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 266
    Points : 6 688
    Points
    6 688
    Billets dans le blog
    2
    Par défaut
    Il faut utiliser les chaine de caractères de la SL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <iostream> //pour l'affichage
    #include <string>//pour la chaine de caractère
     
    int main(int argc, char** argv)
    {
        std::string machaine; //déclaration de la chaine
        machaine = "toto";  //remplissage
        std::cout << machaine << std::endl; //affichage sur la console
        getchar(); //pour éviter que la console se ferme tout de suite
    }
    Dans mon exemple, machaine est allouée sur la pile, elle sera donc automatiquement détruite quand on sortira de sa portée.

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

Discussions similaires

  1. probleme AVEC delete
    Par norais dans le forum Langage
    Réponses: 1
    Dernier message: 28/08/2012, 01h35
  2. Problem avec Delete
    Par anarkia dans le forum C++
    Réponses: 6
    Dernier message: 21/09/2009, 17h40
  3. Probleme avec "delete en ADO
    Par nguhv dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 10/04/2007, 09h26
  4. Probleme avec delete
    Par edogawa dans le forum Hibernate
    Réponses: 4
    Dernier message: 04/09/2006, 15h39
  5. [ EJB ] [JBoss ] [ XDoclet ] probleme avec cascade-delete
    Par Houbbba dans le forum Wildfly/JBoss
    Réponses: 4
    Dernier message: 03/05/2006, 11h05

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