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++Builder Discussion :

pchar* et const pchar*


Sujet :

C++Builder

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    23
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 23
    Par d�faut pchar* et const pchar*
    Bonjour,

    Avant tout je pr�cise que je suis d�butant en C++.
    L'objectif des quelques lignes suivantes �taitent de me familiariser avec le passage de param�tres "pchar*" et "const pchar*

    Je travaille sous Borland Turbo C++ 6 - version personnelle.

    Voici mon code :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    void   TForm1::procedure1(char *P1)
    {
    	P1 = StrLCat(P1," ET ça aussi",StrLen(P1)+12);
    }
     
    void   TForm1::procedure2(const char *P1)
    {
    	P1 = "A La PLACE DE....";
    }
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    	char *Chaine;
     
    	Chaine = "Valeur 1";
    	procedure1 (Chaine);
    	Memo1->Lines->Add(Chaine);    
     
    	Chaine = "Valeur 2";
    	procedure2 (Chaine);
    	Memo1->Lines->Add(Chaine);    //ET ça aussi
    }
    Ce que j'esperai :
    Affichage dans le m�mo de
    - Valeur 1 ET �a aussi
    - Valeur 2

    Ce que j'ai obtenu :
    - Valeur 1 ET �a aussi
    - ET �a aussi

    Et l� je ne comprends pas pourquoi ma Seconde ligne n'est pas "Valeur 2"
    Et encore pire : lorsque j'�value "chaine"
    apr�s l'execution de Chaine = "Valeur 2"
    l'evaluateur me retourne "ET �a aussi"...

    Et l� ce sont toutes mes coyances en informatiques qui s'�croulent ....

    Merci pour votre aide, je suis certains d'�tre pass� � cot� d'un truc gros comme une baleine .... mais l� je ne vois pas ....

    David

  2. #2
    Membre Expert
    Avatar de Crayon
    Inscrit en
    Avril 2005
    Messages
    1 811
    D�tails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 811
    Par d�faut
    Salut, je ne suis pas un expert de Borland Turbo C++ 6, mais je ne comprend pas pourquoi ceci fonctionne:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    	char *Chaine;
     
    	Chaine = "Valeur 1";
    Il n'y a jamais d'espace m�moire d'allouer pour Chaine, seul le pointeur existe et il pointe vers rien!

    Si tu veux allouer une taille fixe il faut faire:
    Sinon:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    	unsigned int Size = 1024;
    	char *Chaine= new char[Size];
    	// ...
    	delete[] Chaine;
    Tu peux aussi utiliser malloc, calloc, etc...

Discussions similaires

  1. DLL : r�cup�rer des string/PChar...
    Par the_magik_mushroom dans le forum Langage
    R�ponses: 8
    Dernier message: 10/11/2005, 10h58
  2. [FreePascal] Convertir AnsiString en PChar
    Par Nomiss dans le forum Free Pascal
    R�ponses: 1
    Dernier message: 25/10/2005, 21h10
  3. Param�tre Pchar dans une DLL
    Par Writer dans le forum Langage
    R�ponses: 4
    Dernier message: 25/08/2005, 01h33
  4. [D7] Besoin d'aide sur un PChar
    Par bobby-b dans le forum Langage
    R�ponses: 6
    Dernier message: 30/06/2004, 16h42
  5. [transtypage]PChar et WideString
    Par rbag dans le forum Bases de donn�es
    R�ponses: 2
    Dernier message: 05/09/2002, 20h12

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