2016-12-17 9 views

答えて

1

cin>>Choice;葉入力バッファ内の末尾の改行文字。そしてgetline(cin,title); therforeは空の行を読み込みます。

一般に、フォーマットされた入力を同じストリームからgetlineと混ぜない方が良いです。

迅速かつ容易に修正がそうのように、std::basic_istream::ignoreを使用してストリームから改行文字を削除することです。この文の後

cin.ignore(2, '\n'); 
+0

ありがとうございました:D、それは働いた –

0

cin>>Choice; 

入力バッファは、新しい行が含まれますEnterキーを押したままにしておきます。

改行文字に遭遇するまでそうgetline

if (Choice==1) 
    { 
     getline(cin,title); 

と次の文は、空の文字列を読み込みます。

この文の前に挿入し、次のコール

#include <limits> 

    //... 


    { 
     getline(cin,title); 
     std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); 

バッファをクリアします。