본문 바로가기

개인공부

c++ 대소문자 변환

반응형

코드

#include <iostream>
#include <string>
#include <cctype>       //isupper, islower, isdigit, isspace 등등 <cctype>에 포함.
 
using namespace std;
 
int main() {
 
    string s;
    getline(cin, s);
 
    for(int i=0; i<s.length(); i++){
        if(isupper(s[i])){
            s[i]=tolower(s[i]);     // 대문자를 소문자로 변환
            //s[i] += 32;
        }
 
        else if(islower(s[i])){
            s[i]=toupper(s[i]);     // 소문자를 대문자로 변환
            //s[i] -= 32;           
        }
    }
 
    cout<<s;
 
    
}
 
/* 아스키 코드범위 
 - 대문자 x>=65 && x<=90
 - 소문자 x>=97 && x<=122
 - 숫자   x>=48 && x<=57
 */
 
 
 
cs

 

isdigit : 숫자인지 판별

 

isspace : 공백인지 판별

 

isupper : 대문자인지 판별

 

islower : 소문자인지 판별

 

isalpha : 알파벳인지 판별

 

대문자에서 소문자 : tolower함수를 사용하거나 32를 더한다.

 

소문자에서 대문자 : toupper함수를 사용하거나 32를 뺀다.

 

 

 

반응형

'개인공부' 카테고리의 다른 글

BYTE[], BYTE* <----> std::sring (c++)  (0) 2022.12.12
문자열 뒤집기 c++  (0) 2022.01.14
[BaeKJoon/Code up/C++] 별 찍기 응용  (0) 2021.11.14
백준 2798(참고) 개인공부 ----c++  (0) 2021.07.31
학생명단  (0) 2021.07.13