2016-12-17 9 views

답변

1

cin>>Choice; 잎 입력 버퍼 내의 말미의 개행 캐릭터 그리고 getline(cin,title); therfore 빈 줄을 읽습니다.

일반적으로 형식이 지정된 입력을 동일한 스트림에서 getline과 섞어서는 안됩니다.

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

정말 고마워요. D, 효과가 있어요. –

0

입력 버퍼가 새로운 라인을 포함

cin>>Choice; 

이 진술 후 :

빠르고 쉬운 수정과 같이, std::basic_istream::ignore를 사용하여 스트림에서 후행 개행 문자를 제거하는 것입니다 Enter 키를 눌러 문자를 남깁니다. 새로운 라인의 문자가 발견 될 때까지,

그래서 getline

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

로 다음 문은 빈 문자열을 읽습니다. 이 문 앞에

삽입 버퍼를 지우려면 다음 호출

#include <limits> 

    //... 


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

.