[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++에서 문자열의 숫자와 문자를 각각 판별하고 변환하는 방법을 익힐 수 있습니다.
참고 자료: