Bug étrange avec le string et les tableaux statiques
dimaz
-
NHenry Messages postés 2497 Date d'inscription Statut Modérateur Dernière intervention -
NHenry Messages postés 2497 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
J'ai le projet de crée un programme C++ capable de convertir les nombres écrit (par exemple : dix) en valeur numérique (ici c'est : 10). Sauf que j'ai un problème avec un string qui change de valeur sans que l'on lui ai demander.
J'ai réussis à extraire le bout de code qui bug dans ce programme (il est long mais facile à lire):
Il s'agit de mon premier bug du genre.
Et je compile sous code::block
J'ai le projet de crée un programme C++ capable de convertir les nombres écrit (par exemple : dix) en valeur numérique (ici c'est : 10). Sauf que j'ai un problème avec un string qui change de valeur sans que l'on lui ai demander.
J'ai réussis à extraire le bout de code qui bug dans ce programme (il est long mais facile à lire):
#include <iostream>
using namespace std;
int main()
{
string mot;
cout << "ecrit un mot" << endl; //j'écrit par exemple "coucou"
getline(cin, mot);
int const tailleListe = 17;
string nombreListe [tailleListe];
nombreListe[0] = "zero";
nombreListe[1] = "un";
nombreListe[2] = "deux";
nombreListe[3] = "trois";
nombreListe[4] = "quatre";
nombreListe[5] = "cinq";
nombreListe[6] = "six";
nombreListe[7] = "sept";
nombreListe[8] = "huit";
nombreListe[9] = "neuf";
nombreListe[10] = "dix";
nombreListe[11] = "onze";
nombreListe[12] = "douze";
nombreListe[13] = "treize";
nombreListe[14] = "quatorze";
nombreListe[15] = "quinze";
nombreListe[16] = "seize";
nombreListe[17] = "vingt";
cout<<mot<<endl; // et ce n'est plus "coucou" qui est enregistré mais "vingt" (le contenu de la dernière ligne du tableau statique)
return 0;
}
Il s'agit de mon premier bug du genre.
Et je compile sous code::block
A voir également:
- Bug étrange avec le string et les tableaux statiques
- Bug chromecast - Guide
- Tableaux croisés dynamiques - Guide
- Bug family link - Forum Contrôle parental
- Bug outlook - Guide
- Iptv bug ✓ - Forum TV & Vidéo
1 réponse
Un tableau de taille 17 va de 0 à 16 (17 cases) donc taper en case 17 t'offre un petit buffer overflow, c'est déjà pas mal, car tu peux aussi avoir un SEG FAULT.
dimaz
Effectivement, j'ai fait une erreur d'inattention. Merci de ton aide
NHenry
Messages postés
2497
Date d'inscription
Statut
Modérateur
Dernière intervention
370
Si le problème est résolu, merci de marquer le sujet comme résolu.