반응형
일반적으로 Edit 컨트롤의 값을 CString 변수의 값으로 받게 된다.
그 값이 숫자로만 된 정수값인지 판별해야 할 필요가 생겼다.
라이브러리 함수 중에 atoi() 라는 함수가 있다.
int atoi( const char *string );
인수로 문자열 포인터를 주어주면
만약 숫자로 된 문자열일 경우 해당하는 숫자문자열을 int형 숫자로 변경해 준다.
1. 인수가 "aaa" 일 경우
NULL 을 리턴한다.
2. 인수가 "123" 일 경우
123 을 리턴한다.
3. 인수가 "12a2" 일 경우
NULL을 리턴 할줄 알았는데12를 리턴한다.
(방법 1)
물론 여러 방법이 있겠지만 atoi() 함수가 위의 3번 같은 결과를 리턴하는 것을 이용해 보았다.
1. CString 값을 char * 형으로 변환 한다.
2. 변환한 char *형 값을 atoi() 함수 인수에 넣어 실행시켜 본다.
2-1. NULL 을 리턴하면 문자값으로 시작한 값이므로 return;
3. 변환한 char *형 값을 다시 CString 형으로 변환한다.
4. 변환된 CString 형 값이 맨처음 CString 과 다르면 숫자 중간에 문자가 낀 것이므로 return;
반응형
'C & C++ > C & C++' 카테고리의 다른 글
인터넷 바로가기 만들기 (0) | 2011.04.27 |
---|---|
[Tip] UpDate 체크 프로그램 (0) | 2011.04.27 |
CFileDialog(파일 선택,저장,파일명,경로 읽기) (0) | 2011.04.26 |
[Tip] ESC 로 종료 안되게 (0) | 2011.04.25 |
[API] 윈도우 관련 함수와 메시지 (0) | 2011.04.25 |
댓글