Unreal 강의

6일차 과제

루인엘다 2023. 12. 18. 13:02
문자 표현 방식

abcde ㄱㄴㄷㄹㅁ 등은 인간이 보기 편하게 만든 디스플레이 적인 내용일 뿐이다.

글자에 대한 모든 권한은 OS가 가지고 있다.

그리고 우리가 char을 사용한다고 하면 C++운영체제에게 이거 글자야 글자로 보여줘야해라고 명령하여 어떠한 메모리 영역을 글자로 바꾸어주는 것이다.

즉 글자 => 숫자이다.(정수)

 

1. char 숫자를 입력받아 int형으로 변환

2. int 숫자를 입력받아 char[]형으로 변

#include <iostream>

int StringCount(const char* _CPtr)
{
    int Count = 0;
    while (_CPtr[Count])
    {
        ++Count;
    }
    return Count;
}

int StringToNumber(const char* _NumberString)
{
    char Ch = 0;
    int StringSize = 0;
    StringSize = StringCount(_NumberString);
    int Number = 0;
    
    for (int i = 0; i < StringSize; i++)
    {
        Ch = _NumberString[i];
        int Digit = StringSize - i - 1;
        int MulTen = 1;
        for (int i = 0; i < Digit; i++)
        {
            MulTen *= 10;
        }
        Number += (Ch - '0') * MulTen;
    }

    return Number;
}

void NumberToString(int _Number, char *_Ptr)
{
    int DivNumber = _Number;
    int SubNumber = _Number;
    int DigitCount = 1;
    while (DivNumber / 10)
    {
        DivNumber /= 10;
        ++DigitCount;
    }
    
    int SubDigit = DigitCount;
    for (int i = 0; i < DigitCount; i++)
    {
        int MulTen = 1;
        for (int x = 0; x < (SubDigit -1); x++)
        {
            MulTen *= 10;
        }
        _Ptr[i] = (SubNumber / MulTen) + '0';
        SubNumber -= (_Ptr[i] - '0') * MulTen;
        --SubDigit;
    }
}

int main()
{
    int Number = StringToNumber("32");

    char Arr[100] = {};
    NumberToString(123123, Arr);
}