[c++]chaine de caractére
Résolu
chevalier_25
-
loupius -
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
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:
- [c++]chaine de caractére
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Caractere vide - Guide
4 réponses
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();
}
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();
}
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
est qu'il ya une solution
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:
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);