Partage
  • Partager sur Facebook
  • Partager sur Twitter

securiser une fonction

    11 octobre 2018 à 18:30:51

    bonjour a tous,

    void enterDate(MyDate &date)
    {
    	std::cout << "day / month / year" << std::endl;
    	std::cin >> date.day >> date.month >> date.year;
    }

    Cette fonction est reappelé si la date est mauvaise, mais quand je rentre un caractère (exemple a.

    A chaque appel de cette fonction le cin ne bloque plus le programme. Je ne peut plus rien faire et ça tourne a l'infinie.

    Le caractère reste dans un buffer ? si oui comment le vider ?

    ou une autre solution ?

    • Partager sur Facebook
    • Partager sur Twitter
      14 octobre 2018 à 3:26:29

      std::getline et tu découpes toi même le résultat (avec substr ou une regexp)... Comme ça, si c'est pas bon, tu redemande. Ne jamais faire confiance à l'utilisateur, il peut être distrait, stupide, voir même malveillant.

      -
      Edité par int21h 14 octobre 2018 à 3:33:37

      • Partager sur Facebook
      • Partager sur Twitter
      Mettre à jour le MinGW Gcc sur Code::Blocks. Du code qui n'existe pas ne contient pas de bug

      securiser une fonction

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown