void Test::set()
{ // 주석부분은 내가 입력한 키입니다.
cout << "Number : ";
cin >> number; // 9901<엔터>
cin.ignore();
cout << "\nName : ";
cin >> name; // kim j.j <엔터>
cin.ignore();
cout << setiosflags(ios::right)
<< setw(32) << "12345678901234567890"
<< endl;
cout << "Lesson(20) : ";
for(int j = 0; j < 20; j++)
cin >> dap[j]; // 21342233132312123332 <엔터>
cin.ignore();
cout << endl;
}
여기서 웃기는 것은 cin >> name 이후에 kim 치고 한 칸을 띄워 입력하면 name 변수 안에는
kim만 입력되는데 남은 j.j란 글자는 입력버퍼안에 있겠지만 cin.ignore()로 비워질텐데 왜 dap[j]배열에까지 영향을 미쳐서 그 뒤에 입력한 글자가 배열에 제대로 들어가지 못하고 버려지는가가 의문점입니다. cin.ignore()함수가 제대로 작동이 안된다는 얘긴가요?
|