7일차 과제

2023. 12. 19. 13:16Unreal 강의

바뀐 문자수를 리턴
#include <iostream>

int CharConvert(char* _Stting, char _PrevCh, char _NextCh)
{
	int Count = 0;
	int ChangeCount = 0;

	while(_Stting[Count])
	{
		if (_Stting[Count] != _PrevCh)
		{
		}
		else
		{
			_Stting[Count] = _NextCh;
			++ChangeCount;
		}
		++Count;
	}
	return ChangeCount;
}

int main()
{
	char Arr[10] = "abcabcabc";
	int Result = CharConvert(Arr, 'b', 'd');
}

입력한 문자를 옆 데이터로 옮기기, 입력한 문자가 있다면 삭제하기
#include <iostream>

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

void LeftMoveString(char* _Ptr, int _Start)
{
	int StringLength = StringCount(_Ptr);

	if (0 >= _Start)
	{
		_Start = 1;
	}

	for (int i = _Start; i < StringLength; i++)
	{
		char Copy = _Ptr[i];
		_Ptr[i - 1] = Copy;
	}
	_Ptr[StringLength - 1] = 0;
}

void DeleteChar(char* _Ptr, char _DeleteCh)
{

	int Count = 0;

	while (_Ptr[Count])
	{
		if (_Ptr[Count] != _DeleteCh)
		{
			++Count;
		}
		else
		{
			int DelCount = Count + 1;
			LeftMoveString(_Ptr, DelCount);
			if (_Ptr[Count] != _DeleteCh)
			{
				++Count;
			}
			else
			{
				LeftMoveString(_Ptr, DelCount);
			}
		}
	}
}

int main()
{
	{
		char Arr[100] = "abcde";
		LeftMoveString(Arr, 0);
	}
	{
		char Arr2[100] = "a b c d e";
		DeleteChar(Arr2, ' ');
	}
}

int값을 char로 형변환하니 cpu가 [] [] [] [] 중 뒤에서부터가 아닌 앞에서부터 채워져있는 것을 발견했다. 이 현상의 이름은? 

빅 엔디언(Big Endian) 리틀 엔디언(Little Endian)

 

거꾸로 뒤짚어하는게 무슨 이득이 있는지 공부해보는 것 조언

'Unreal 강의' 카테고리의 다른 글

9일차 (12/21)  (0) 2023.12.21
8일차 (12/20)  (0) 2023.12.20
7일차 (12/19)  (0) 2023.12.19
6일차 과제  (0) 2023.12.18
6일차 (12/18)  (0) 2023.12.18