[WinAPI] 윈도우 크기 지정
클라이언트 영역 실제 컨텐츠가 동작하는 범위를 가리킨다. SetWindowPos() HWND hwnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags 위의 매개변수를 가지고 있으며 보통 SetWindowPos()를 이용해서 윈도우의 위치와 화면의 크기를 변환시킨다. cx, cy값으로 1280, 720을 줬을 경우 비 클라이언트 영역의 크기까지 합쳐서 크기를 변환시킨다. AdjustWindowRect() LPRECT lpRect, DWORD dwStyle, BOOL bMenu 위의 매개변수를 가지며 AdjustWindowRect()를 호출하면 첫번째 매개변수로 주어진 화면의 크기만큼 클라이언트 영역이 될 수 있는 크기를 받아 올 수 있다...
2022. 11. 15.
[C++] 멀티바이트, 유니코드
아스키코드 항상 1바이트, 영어 이외의 프랑스, 스페인, 등등 영어와 비슷한 언어만 확장형으로 사용 나머지는 사용 불가 유니코드 항상 문자 하나에 2바이트 공간 확보 utf-8, utf-16, utf-32로 나눠진다. 각 숫자는 비트를 뜻하고 앞에서부터 차례대로 1byte, 2byte, 3byte 사용한다는 뜻 그런 의미로 1바이트라서 utf-8은 한글 사용 불가, 멀티바이트 한 문자에 할당되는 공간이 일정하지 않음, 영어 : 1바이트, 다국어 : 2바이트 영어 이외의 언어를 사용 wchar은 2바이트, char은 1바이트 TEXT()매크로는 TCHAR과 마찬가지로 들어온 문자열을 설정한 유니코드나 멀티바이트에 맞게 매크로 해줌 TCHAR 사용하면 유니코드 일땐 wchar_t 사용, 그 외엔 char 사..
2022. 11. 14.
[Algorithm] 에라토스테네스의 체
에라토스테네스의 접근 주어진 자연수 N이 소수이기 위한 필요충분 조건은 N이 N의 제곱근보다 크지 않은 어떤 소수로도 나눠지지 않는다. 소수가 되는 N이 자연수라면 sqrt(N)보다 작은 수로 나눠지지 않음 1, 2, 4, 5, 8, 10, 16, 20, 40, 80 자연수 N : 80, sqrt(80) : 8.xxxx, 2부터 8.xxxx이하만 검색하면 이후의 값은 검사할 필요가 없음 1-80, 2-40, 4-20, 5-16, 8-10이기 때문에 8.xx이하만 검사하면 됨 bool IsPrime(int num) { for (int i = 2; i * i
2022. 11. 14.