C++

[C++] toupper, tolower

programmer-faust 2025. 7. 2. 21:06
  • 순서
    1. 헤더
    2. toupper 함수
    3. tolower 함수
    4. toupper, tolower함수 공통 설명
  • 헤더
    • c++에서 <cctype>헤더를 include 하여 toupper과 tolower을 사용할 수 있음
  • toupper 함수
    1. toupper: 입력된 소문자를 대응하는 대문자로 변환해주는 역할
    2. 시그니처는 int toupper(int c) 형태이다.
    3. 반환값
      • 반환값은 int형으로 반환됨. 만약 인자가 소문자면 대문자로 바꾼 값의 int, 그 외는 그대로 반환됨.
  • tolower 함수
    1. tolower: 입력된 대문자를 대응하는 소문자로 변환해주는 역할
    2. 시그니처는 int tolower(int c)형태이다.
    3. 반환값
      • 반환값은 int형으로 반환됨. 만약 인자가 대문자면 소문자로 바꾼 값의 int, 그 외는 그대로 반환됨.
  • toupper, tolower 함수 공통 설명
    1. 인자
      • 인자는 int c임, 사실상 unsigned char 값이거나 EOF여야 함.
      • 내부적으로 아스키 코드(정수값)을 처리하기 때문에 인자로 들어가는 char는 무조건 int 정수형으로 승격됨
      • 문자를 넣게되면 아스키 코드표에 기반한 10진수로 변환되어 처리된다. 숫자를 넣으면 아스키 코드표에 기반한 숫자로 처리.
    2. 형변환
      • 인자 int c는 문자 또는 숫자를 넣어도 문제없이 작동한다. toupper(char), tolower(char)형태로 호출하 컴파일러가 내부적으로 char -> int 형변환을 수행한다. C++의 정수 승격 규칙(integer promotion) 때문에 발생하며, 마치 static_cast<int>를 한 것과 동일한 결과가 된다. 다만 실제로 static_cast<int>호출이 삽입되는 것은 아님.

'C++' 카테고리의 다른 글

[C++] <sstream>헤더파일  (0) 2025.07.04
[C++]객체 지향 프로그래밍 OOP 4가지 특징  (0) 2025.07.03
[C++]TRPG(TextRPG) Inventory제작  (0) 2025.06.23
[C++] TRPG(TextRPG) Character제작  (0) 2025.06.19
[C++]FMath  (0) 2025.06.18