Game !






시간과 같은 변수들은 디버깅할때 유의할 점입니다

디버깅시 브레이크를 걸었다 하더라도 시간은 계속 흐르니까요


그래서 시간을 알고 싶을때에는 디버깅 중에 시간을 출력하여 확인할 필요가 있습니다.





디버깅에 시간을 출력하기 위해 필요한 함수


sprintf(_s)

OutputDebugStringA





sprintf 함수


헤더파일

#include <stdio.h>



원형

int sprintf(char* str, const char* format, .....)



사용법

매개변수는 차례대로

1. 문자열을 저장할 char*형 변수

2. " 문자열 "

3. , ... 부분은 문자열에 변수가 들어갈 수 있음



문자열을 저장할 변수는 문자열보다 커야하고

문자열 마지막에 NULL 문자를 생각하여 항상 문자열보다 1칸 커야한다



=>


char buff[100];


sprintf(buff, "Tick : %f \n", tick);


printf("%s ", buff);



<콘솔 출력화면>

//tick = 45.23 가정

Tick : 45.23 







OutputDebugStringA함수



OutputDebugStringA 함수는 매개변수가 LPCSTR 형태라서 char* 형을 받을 수 있는데

OutputDebugString 함수는 매개변수가 LPCTSTR 형태라서 문자열을 따로 형변환을 해주어야한다.


LPCSTR = long pointer constant string = const char*

LPCTSTR = long pointer constant t_string = const tchar*


사실 무슨차이인지 모르겠는데..

char* 넣으면 에러가뜬다.


그래서 나는 OutputDebugStringA 함수를 사용한다.




헤더파일

#include <Windows.h>



원형

void OutputDebugStringA( _In_opt_ LPCSTR lpOutputString)




사용법

문자열이 저장된 LPCSTR형 변수를 넣으면 해당 변수를 출력해준다



char buff[100];


sprintf(buff, "Tick : %f \n", tick);


OutputDebugStringA(buff);



<디버깅 출력화면>

//tick = 45.23 가정

Tick : 45.23