[c++] 문자열의 숫자와 문자 구분

프로그래밍에서 문자열을 다룰 때 종종 숫자와 문자를 구분해야 하는 경우가 있습니다. C++에서는 이를 처리하기 위한 여러 가지 방법이 있습니다.

숫자 판별

만약 문자가 숫자인지 판별하고 싶다면, isdigit 함수를 사용할 수 있습니다. 이 함수는 문자가 0~9 범위의 숫자인지를 판별하여 true 또는 false를 반환합니다.

#include <cctype> // 필요한 경우 헤더 파일을 포함해 줍니다.

char c = '5';
if (isdigit(c)) {
    // c는 숫자입니다.
}

문자 변환

만약 문자를 숫자로 변환하고 싶다면, atoi 함수를 사용할 수 있습니다. 이 함수는 문자열을 정수로 변환해줍니다.

#include <cstdlib> // 필요한 경우 헤더 파일을 포함해 줍니다.

char numStr[] = "123";
int num = atoi(numStr);

문자와 숫자 간 변환

때로는 문자와 숫자를 서로 변환해야 할 때도 있습니다. 이를 위해서는 아스키 코드를 이용할 수 있습니다. 문자를 숫자로 변환할 때는 문자에서 ‘0’을 뺀 값을 사용하고, 숫자를 문자로 변환할 때는 숫자에 ‘0’을 더한 값을 사용합니다.

char c = '8';
int num = c - '0'; // 문자 '8'을 숫자 8로 변환

int num2 = 5;
char c2 = num2 + '0'; // 숫자 5를 문자 '5'로 변환

이러한 방법을 사용하여 C++에서 문자열의 숫자와 문자를 각각 판별하고 변환하는 방법을 익힐 수 있습니다.


참고 자료: