2012-05-27 2 views
7

cin을 사용하여 사용자가 입력 할 수있는 문자 수를 제한하고 싶습니다. 예를 들어 두 자로 제한하고 싶을 수도 있습니다. 어떻게해야합니까?cin을 통해 입력되는 문자 수를 어떻게 제한합니까?

내 코드는 다음과 같습니다

cin >> var; 
+1

마이클, 당신이 반대 ('>> Meni가'연산자를 사용하고 있음을 보여주는 코드를 제거 거요에'readline','read' 등)? –

+0

@Ben, 나는 그것이 그가 'cin'을 사용하고 있다고 이미 지정 했으므로 그것이 적절하다고 생각하지 않았다. 도움이된다고 생각한다면 다시 추가하겠습니다. –

답변

15

당신은 setw()

cin >> setw(2) >> var; 

http://www.cplusplus.com/reference/iostream/manipulators/setw/

문자의 수는 다음 삽입 작업에 대한 필드 폭으로 사용되는 설정 할 수 있습니다. @ 크리스가 제공

근무 예 : http://ideone.com/R35NN

+0

"insertion"! = "추출". –

+0

@ Robᵩ 이것은 입력 작업과 함께 작동합니다. 나는 Deitel 책이 전화 번호를 입력하기 위해 운영자 과부하 장에서 그것을 사용함을 기억한다. – chris

+0

@ Robᵩ : 테스트를 마쳤습니다. –

1

흠 당신이 'VAR'문자 배열을 만들고 배열이 어쩌면 전체 때까지 입력을 읽는 동안 루프를 사용할 수 있을까?

char var[somenumber + 1]; 
int count = 0; 

while(count < somenumber){ 
    cin >> var[count]; 
    count++; 
} 

var [somenumber] = '\0'; 
관련 문제