ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 문자와 문자열
    프로그래밍 언어/C++ 2024. 6. 21. 02:03
    문자 자료형

     

    문자 자료형

    •  1 BYTE = 8 bit (256개 표현 가능)
    자료형 크기 범위
    char signed char,  __int8 1 BYTE -128 ~ 127
    unsigned char - 1 BYTE 0 ~ 255
    wchar_t __wchar_t 2 BYTE 0 ~ 65,535
    char8_t (C++20) - 1 BYTE UTF-8 유니코드 저장 가능
    char16_t - 2 BYTE UTF-16 유니코드 저장 가능
    char32_t - 4 BYTE UTF-32 유니코드 저장 가능
    • char : 알파벳 / 숫자 문자를 나타냄
    • wchar_t : 와이드 문자 형식 또는 멀티바이트 문자를 지원함 (유니코드 지원)
      • wchar_t인 경우 문자형식이 다르기 때문에, std:: cout 이 아닌 std::wcout을 사용해야한다.
      • #include <cwchar> -> wcslen()

     

    #include <iostream>
    #include <cwchar>
    #include <locale>
    
    using namespace std;
    
    int main(void){
    	char a = 'A';
        
        // char 변수 출력
        cout << a << endl;
    //result : A
    //-----------------------------------------------------------    
        wchar_t ws[] = L"프로그래밍!";
    
        // 로케일 설정 (UTF-8 사용)
        locale::global(locale("ko_KR.UTF-8"));
    
        // 와이드 문자열 출력
        wcout.imbue(locale("ko_KR.UTF-8"));
    
        for (int i = 0; i < wcslen(ws); i++) {
            std::wcout << ws[i];
        }
        std::wcout << std::endl;
    
    //result : 프로그래밍!
    //-----------------------------------------------------------
    
        return 0;
    }

     

     

    접두어 / 접미어

    구분 자료형 선언 값 표현
    접미어 long l L
    unsigned short u u
    unsigned long ul UL
    long long ll LL
    unsigned long long ull ULL
    진수표현 16진수 - 0x
    8진수 - 0
    2진수 - 0b
    접두어 배열 a / arr -
    bool b -
    char c -
    double d -
    float f f
    파일 기술자 fd -
    파일 포인터 fp -
    int i -
    포인터 p -
    함수포인터 fpn -
    참조형 변수 r -
    문자열 str -
    unsigned int u / w  
    wchar_t - L
    const char* - u8 / R"(값)" (대부분 생략)
    char16_t - u
    char32_t - U
    #include <iostream>
    #include <string>
    #include <cstdio>
    #include <fcntl.h>
    
    
    using namespace std;
    
    int main(void)
    {  
    
        // 접미어 사용 예제
        
        long lValue = 100L;
        unsigned int uValue = 200u;
        unsigned long ulValue = 300ul;
        long long llValue = 400ll;
        unsigned long long ullValue = 500ull;
        
        //[진수 표현]
        int hex = 0x1A; // 16진수 1A (10진수 26)
        int oct = 075; // 8진수 75 (10진수 61)
        int bin = 0b1010; // 2진수 1010 (10진수 10)
    
        
    
        // 접두어 사용 예제
        
        int arrNumbers[5] = { 1, 2, 3, 4, 5 };
        bool bIsValid = true;
        char cGrade = 'A';
        double dRate = 4.5;
        long double x = 42.0L;
        float fHeight = 5.9f;
        /*int fdFile = open("example.txt", O_RDONLY);*/ // Linux
        FILE* fpFile = fopen("example.txt", "r");
        int iCounter = 10;
        int* pNumber = &iCounter;
        void (*pfnFunction)() = nullptr;
        int& rReference = iCounter;
        std::string strName = "Alice";
        unsigned int uAge = 30;
        unsigned int wWeight = 70;
    
        wchar_t ws[] = L"Hello, World!";
        const char* utf8 = u8"Hello, World!";
        char16_t utf16[] = u"Hello, World!";
        char32_t utf32[] = U"Hello, World!";
        const char* raw = R"(Hello, "World"!)"; // C++ 11이상
    
    }

    '프로그래밍 언어 > C++' 카테고리의 다른 글

    비트연산  (0) 2024.06.21
    연산 (산술, 사칙, 증감, 비교, 논리)  (0) 2024.06.21
    자료형  (0) 2024.06.21
    배열  (0) 2024.05.31
    std::cin 정리  (0) 2024.05.31
Designed by Tistory.