Problème de variable char en C++
Pecose
-
Pecose -
Pecose -
Bonjour a tous, programmeurs,
Je vous appelle a l'aide pour cette chose là:
#include <cstdlib>
#include <iostream>
using namespace std;
char* boucleU(char vone[123],char vtwo[123],char vtre[123],int variable)
{
char Xone[123];char Xtwo[123];char Xtre[123];
vone=Xone;vtwo=Xtwo;vtre=Xtre;
char* tablchar[]={Xone,Xtwo,Xtre};
return tablchar[variable];
}
int main()
{
int i=0;
cin>>i;
char Uone[123];char Utwo[123];char Utre[123];
cin>>Uone>>Utwo>>Utre;
cout<<"La variable est "<<boucleU(Uone,Utwo,Utre,i)<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Mon problème:
Les variables Uone, Utwo et Utre aprés leur p'tit tour chez boucleU reviennent avec des caractères bizare...
Petit bonhommes et autres formes étranges...
Ma question:
Peut on garder intactes la valeur des varables sans réécrire tout le programme?
Merci d'avence...
Je vous appelle a l'aide pour cette chose là:
#include <cstdlib>
#include <iostream>
using namespace std;
char* boucleU(char vone[123],char vtwo[123],char vtre[123],int variable)
{
char Xone[123];char Xtwo[123];char Xtre[123];
vone=Xone;vtwo=Xtwo;vtre=Xtre;
char* tablchar[]={Xone,Xtwo,Xtre};
return tablchar[variable];
}
int main()
{
int i=0;
cin>>i;
char Uone[123];char Utwo[123];char Utre[123];
cin>>Uone>>Utwo>>Utre;
cout<<"La variable est "<<boucleU(Uone,Utwo,Utre,i)<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Mon problème:
Les variables Uone, Utwo et Utre aprés leur p'tit tour chez boucleU reviennent avec des caractères bizare...
Petit bonhommes et autres formes étranges...
Ma question:
Peut on garder intactes la valeur des varables sans réécrire tout le programme?
Merci d'avence...
A voir également:
- Problème de variable char en C++
- Coco char - Accueil - Réseaux sociaux
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Vba range avec variable ✓ - Forum VB / VBA
- Vérifiez la variable d'environnement TEMP. QUE FAIRE ????? ✓ - Forum Microsoft Office
6 réponses
Ton code est très étrange lol. Tu veux faire quoi ?
Lorsque de l'appel boucleU(Uone,..), tu fais Uone = Xone qui n'est pas initialisée, donc Uone va pointer sur une zone aléatoire. Pire encore à la fin de la fonction la variable Xone n'existera plus car elle est locale. Donc Uone pointera sur rien. Tu n'as pas des warnings à la compilation ?
Lorsque de l'appel boucleU(Uone,..), tu fais Uone = Xone qui n'est pas initialisée, donc Uone va pointer sur une zone aléatoire. Pire encore à la fin de la fonction la variable Xone n'existera plus car elle est locale. Donc Uone pointera sur rien. Tu n'as pas des warnings à la compilation ?
A priori la lecture ne s'arrêtes pas, je ferais une lecture de cin, et après je lirais cette chaines de caractère avec un sur 3 etc...
Parce que les caractères bizzard sont tous simplement la mémoire... donc tu fais un débordement mémoire et ce n'est vraiment pas propre... enfin je me trompe p-e mais j'aime pas trop ce que tu as fait....
Parce que les caractères bizzard sont tous simplement la mémoire... donc tu fais un débordement mémoire et ce n'est vraiment pas propre... enfin je me trompe p-e mais j'aime pas trop ce que tu as fait....
C'est trés simpa mais mon petit esprit ne convien pas pour comprendre là ou tu veux en venir.
Comment je doit faire pour initialiser Uone au bon moment?
Comment je doit faire pour initialiser Uone au bon moment?
Moi je le trouve normal... c'est un code...
Bon c'est claire, il es un peut personnel mais bon...
Merci pour les explications, mais as tu un solution?
Bon c'est claire, il es un peut personnel mais bon...
Merci pour les explications, mais as tu un solution?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ben, je ne sais même pas ce que tu veux faire, donc je peux pas vraiment t'aider.
Explique ce que tu souhaites faire, je t'aiderai après.
Sinon, lorsque tu fais char var[150], var contiendra des données aléatoires car il n'a pas été initialisé. C'est ce que tu fais dans ta fonction.
Explique ce que tu souhaites faire, je t'aiderai après.
Sinon, lorsque tu fais char var[150], var contiendra des données aléatoires car il n'a pas été initialisé. C'est ce que tu fais dans ta fonction.
C'est pas grave, j'ai trouver:
#include <cstdlib>
#include <iostream>
using namespace std;
char* boucleU(char vone[123],char vtwo[123],char vtre[123],int variable)
{
char* tablchar[]={vone,vtwo,vtre};
return tablchar[variable];
}
int main()
{
int i=0;
cin>>i;
char Uone[123];char Utwo[123];char Utre[123];
cin>>Uone>>Utwo>>Utre;
cout<<"La variable est "<<boucleU(Uone,Utwo,Utre,i)<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Merci a tout le monde pour votre aide,
L'idée était de pouvoir modifier les variables dans un tableau pour pouvoir les classer et les sortir au hasard avec rand().
#include <cstdlib>
#include <iostream>
using namespace std;
char* boucleU(char vone[123],char vtwo[123],char vtre[123],int variable)
{
char* tablchar[]={vone,vtwo,vtre};
return tablchar[variable];
}
int main()
{
int i=0;
cin>>i;
char Uone[123];char Utwo[123];char Utre[123];
cin>>Uone>>Utwo>>Utre;
cout<<"La variable est "<<boucleU(Uone,Utwo,Utre,i)<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Merci a tout le monde pour votre aide,
L'idée était de pouvoir modifier les variables dans un tableau pour pouvoir les classer et les sortir au hasard avec rand().