나는 C에서 사용자의 입력을 검사하는 가장 효율적인 방법을 물어보고 싶습니다. 사용자가 4 자리 정수를 입력하기를 원합니다. 사용자가 정확히 4 자리 숫자로 문자를 입력했는지 어떻게 확인할 수 있습니까?C에서 정수 입력 체크
답변
한 가지 방법 : 각 문자를 확인) string
또는
2 char*
과 같이
1) 49-58 ASCII 내에이 같은처럼 뭔가를 할 수있는 숫자를 확인 위해
범위.
마지막으로,이 문자열에 네 개의 문자가와 long
로 문자열을 변환하기 (2)
'문자열'은'c'입니까? –
음, C에는 string.h가 있습니다. 그것은 문자열이 C에 있음을 의미합니까? :-) –
아니, 그렇다고해서 그런 뜻이 아닙니다. –
모든 입력은 문자열 (콘솔)로 간주됩니다. 당신이 할 수있는 일은 lengh가 4보다 작은 지 점검하고, 그렇다면 루프를 통과하고 각 문자에 대해 isdigit()
을 사용하여 숫자인지 확인합니다.
int isnumeric(char *str)
{
while(*str)
{
if(!isdigit(*str))
return 0;
str++;
}
return 1;
}
사용 strtol
기능을 만족하는 경우 atoi()
(긴 경우 또는 푸티 Atol을())를 사용하여 int
로 변환합니다. strtol
은 오류 확인을 통해 실제로 long
을 확인할 수 있습니다. 그런 다음 숫자가 1000
과 9999
(양의 4 자리 10 진수 정수인 경우) 사이인지 확인하십시오.
- 1. 정수 단위 이상하게 C에서
- 2. C에서 순간 자릿수 입력
- 3. Objective-C에서 많은 정수 사용하기
- 4. 입력 문자열과 정수
- 5. MIPS 어셈블리의 입력 정수
- 6. 정수 데이터베이스 입력 살균
- 7. 큰 정수 입력
- 8. 정수 입력에서 영어 입력
- 9. 정수 검증하지 사용자 입력
- 10. C에서 동적 정수 유형 다루기?
- 11. C에서 Word와 Double Word 정수
- 12. 정수 값을 객관적인 C에서 콘솔에서 읽으려고합니다.
- 13. 체크 박스 입력 배열 값은 체크 박스의 입력
- 14. 입력 : jquery에서 체크 & 토글()
- 15. 체크 박스의 입력 크기
- 16. Objective-C에서 문자 입력
- 17. C에서 입력 파일 읽기
- 18. 정수 사용자 입력 - 오류 처리
- 19. 유효성 검사 양식의 정수 입력
- 20. zlib을 사용하여 C에서 정수 배열 압축
- 21. C에서 TCP를 통해 정수 값을 보내고받습니다.
- 22. C에서 파이프에서 정수 쓰기 및 읽기
- 23. 케이스 레이블이 C에서 정수 상수로 축소되지 않습니까?
- 24. 정수 배열을 C에서 함수 매개 변수로 전달
- 25. C에서 memcpy는 부호있는 정수 인수를 어떻게 처리합니까?
- 26. 표준 C에서 고정 크기 정수 typedef 선언
- 27. 마지막 정수 승격 규칙은 C에서 어떻게 적용됩니까?
- 28. 숨겨진 체크 박스의 입력 값.
- 29. 체크 박스는 작동하지만, 입력 행이
- 30. 스타일 입력 유형 체크 박스
(int i = 0; i <4; ++ i) if (! isdigit (in)) panic(); if ([4]에서) panic(); ;-) –
정수에서 999을 뺀 것으로 생각합니다. 사용자가 입력에 문자를 추가하면 C가 무시되고 3 자리 정수가 저장되기 때문입니다. 출력이 양수인지 음수인지 확인합니다. – Dimitris
사용자로부터 입력을 문자열로 가져옵니다. 문자열을 반복하고 각 문자가 ''의 'isdigit'을 사용하여 정수인지 확인하십시오. –