컴퓨터/Win32-API
Windows 프로그래밍을 하던 도중 문득 TextOut함수로 정수를 출력하기에는 상당히 번거로운 일이 발생합니다.
이 번거로운 일을 손쉽게 극복할 수 있도록 C언어 표준 함수인 wsprintf를 알아보도록 합시다.
이 함수는 C언어 표준 함수로 쉽게 설명하자면 특정 공간에 서식화된 문자열을 담아주는 녀석입니다.
C언어에서 흔히 사용했던 printf의 경우 콘솔 창에 문자열을 출력합니다.
wsprintf의 경우 특정 변수에 문자열을 출력합니다.
함수의 원형을 보면 다음과 같습니다.
wsprintfW(
_Out_ LPWSTR,
_In_ _Printf_format_string_ LPCWSTR,
...);
이전 포스트에서 설명했다 시피 W는 유니코드를 의미하므로 무시하고 설명하도록 하겠습니다.
간단하게 특정 숫자를 출력하는 코드를 작성해 봅시다.
case WM_PAINT:
{
PAINTSTRUCT ps;
hdc = BeginPaint(hWnd, &ps);
WCHAR word[1024];
int num = 100;
// TODO: 여기에 hdc를 사용하는 그리기 코드를 추가합니다...
wsprintfW(word, L"숫자 : %d", num);
TextOutW(hdc, 100, 100, word, lstrlen(word));
//TextOutA(hdc, 200, 200, "Hello World", 12);
EndPaint(hWnd, &ps);
}
break;
wsprintf 함수를 이용해서 문자열의 형태로 만든 후 TextOut 함수를 이용해 출력했습니다.
이 함수를 사용하는데 몇 가지 주의사항이 있습니다.
Win32_API - 리소스를 통해 메뉴바 추가하기 (0) | 2022.02.23 |
---|---|
Win32_API - 리소스(Resource) (1) | 2022.02.22 |
Win32_API - 2개의 버튼을 이용해서 숫자 변화시키기 (0) | 2022.02.21 |
Win32_API - 여러개의 버튼 처리 (0) | 2022.02.21 |
Win32_API - WPARAM 과 LPARAM (0) | 2022.02.20 |
91년생 공학엔지니어의 개발일지
TODAY :
YESTER DAY :
TOTAL :
Commnet