[c++]chaine de caractére

Résolu
chevalier_25 -  
 loupius -
salut,

j'ai ecris ce code pour lire et affucher 2 chaine de caractere :

#include<iostream.h>
#include<conio.h>
void main(){
char *n,*f;
cout<<"\n Entrer Nom :";
cin>>n;
cout<<"\n**********"<<n<<endl<<"******";
cout<<"\n Entrer Prenom :";
cin>>f;
cout<<"\n******"<<f<<"******";
getch();
}

la premiere chaine et afficher mais la 2eme ne s'affiche pas
de l'aide svp
A voir également:

4 réponses

Goodboy21
 
pour utiliser tes pointeurs il faut leur allouer de l'espace mémoire:
void main()
{

char *n,*f;
n=new char[20];//n pointe sur un bloc valide;
f=new char[20]; // de meme .
cout<<"\n Entrer Nom :";
cin>>n;
cout<<"\n**********"<<n<<endl<<"******";
cout<<"\n Entrer Prenom :";
cin>>f;
cout<<"\n******"<<f<<"******";
getch();

}
0
chevalier_25
 
nom, mais mois je veut pas fixer la longueur de mais chaine a 20 je veut qu'ellles sois des chaines dynamique
est qu'il ya une solution
0
chevalier_25
 
de l(aide svp
0
loupius
 
En C, si tu veux une chaîne dynamique ce sera à toi de la gérer à coup de malloc, realloc et free... ça marche mais tu réinventes la roue car, en C++, il existe une classe 'string' qui tu permets d'avoir une chaîne dynamique sans avoir l'inconvénient de la gestion mémoire.
Mais de toutes façons, comme te l'a dit Goodboy21, il faut allouer de la mémoire aux pointeurs:
méthode statique:  char  str[20];
méthode dynamique: char* str = (char*)malloc(20);
0