Prob avec les variables

Résolu
Ilsundal Messages postés 79 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 1 mars 2011 - 6 août 2006 à 16:39
Ilsundal Messages postés 79 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 1 mars 2011 - 6 août 2006 à 17:17
Bonjour a tous,

voila mon probleme, j'ai declaré une variable, mais quand je lui assigne par exemple  : MAISON, il m'affiche que M. comment faire pour qu'il prenne en compte tout le mot ???  voici mon code.  MERCI d'avance

PS : je code avec DEVC++

#include <cstdlib>
#include

using namespace std;
char x;
int main(int argc, char *argv[])
{
    system ("TITLE Icarion - config.php");
    cout << "Bienvenue dans le programme de generation du fichier config.php \n\n";
    cin >> x;
    cout << x;
    system("PAUSE");
    getchar();
    return EXIT_SUCCESS;
}

3 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
6 août 2006 à 17:10
char x[256];


Un char seul équivaut à un caratère unique. Il te faut de la mémoire pour une chaine et ça ne se fait pas seul. Il faut que tu indique toi même la taille de la mémoire réservé. Ci-haut, tu as de la place pour 256 caractères. Tu aurais pu aussi travailler en mémoire dynamique ce qui te premetterais d'allouer de très grosse somme de mémoire car dans le cas de l'allocation static (les tableaux comme ci-dessus), la mémoire est prise dans le stack du logiciel qui est en général très limité. Pour l'allocation dynamique EN C++ c'est simple:

char *x = new char[256];

et tu libère avec

delete[] x;

quand tu n'a plus besoin de la mémoire.

Tu devrais te plonger dans un livre de C++ et bien lire la section de la mémoire et des pointeurs. Il faut ABSOLUMENT comprendre comment ça fonctionne en C/C++.

C++ (@++)
___________________________________________
Les plus grands esprits trouvent toujours une solution

http://programmationdebat.discutforum.com
3
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
6 août 2006 à 17:11
Il ne t'affiche que M parceque tu as déclaré une variable de type char et non char * x ou char x[21] . char c'est 1 octet et donc 1 caractère. Pour avoir maison tu dois déclaréer une chaine de caractère comme j'ai mis au début. Encore que ça c'est du C, maintenant en C++ c'est string :D
3
Ilsundal Messages postés 79 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 1 mars 2011
6 août 2006 à 17:17
Merci,  je debute en programmation. merci pour votre aide

Ma Quete n'est pas Terminee
0
Rejoignez-nous