C++의 isprint() 함수는 <cctype> 헤더 파일에 미리 정의되어 있는 함수로, 전달된 문자가 화면에 출력할 수 있는(printable) 문자인지 검사합니다. 문자가 출력 가능하면 0이 아닌(non-zero) 값을 반환하고, 그렇지 않으면 0을 반환합니다.
isprint() 함수의 기본 문법은 다음과 같습니다.
int isprint(int character);
매개변수
- character − 출력 가능 여부를 검사할 문자입니다.
예제
다음은 C++에서 isprint() 함수를 활용하는 예제입니다.
#include<iostream>
#include<cctype>
using namespace std;
int main() {
int val1 = 28;
int val2 = 's';
int val3 = '\n';
if(isprint(val1))
cout << "출력 가능한 값입니다" << endl;
else
cout << "출력할 수 없는 값입니다" << endl;
if(isprint(val2))
cout << "출력 가능한 값입니다" << endl;
else
cout << "출력할 수 없는 값입니다" << endl;
if(isprint(val3))
cout << "출력 가능한 값입니다" << endl;
else
cout << "출력할 수 없는 값입니다" << endl;
return 0;
}
실행 결과
출력할 수 없는 값입니다 출력 가능한 값입니다 출력할 수 없는 값입니다
위 프로그램에서는 세 개의 변수 val1, val2, val3를 선언한 뒤, 각 변수가 출력 가능한 문자인지 isprint() 함수로 검사합니다.
val1에는 정수 28이 저장되어 있습니다. 아스키(ASCII) 코드 28번은 파일 구분자(File Separator)에 해당하는 제어 문자로 화면에 표시할 수 없기 때문에 isprint() 함수는 거짓을 반환합니다. 반면 val2에는 문자 's'가 저장되어 있어 출력 가능한 문자로 판별되어 참을 반환하고, val3에는 줄 바꿈 문자 '\n'이 저장되어 있어 출력 불가능한 문자로 판별됩니다.
이처럼 isprint() 함수는 입력값 유효성 검사나 문자열 필터링 등에서 특정 문자가 실제로 화면에 나타날 수 있는 문자인지 확인해야 할 때 유용하게 사용됩니다.