[ 현재 라인수, 함수명, 파일명(full path)를 출력 ].

printf("line: %d \nfunction: %s \nfile: %s\n", __LINE__, __FUNCTION__, __FILE__);

 

[ 함수가 호출된 파일, 라인수 출력 샘플 ]
#include <iostream>
#include <tchar.h>
#include <windows.h>

using namespace std;

#define dtest(arg)  test(arg, __FILE__, __LINE__ ) 
void test(int arg, const char* filename, int linenum)
{
	//char -> TCHAR 변환
	TCHAR t_filename[MAX_PATH] = { 0 };
	MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, filename, strlen(filename), t_filename, sizeof(t_filename));

	//File 및 라인수 출력
	TCHAR msg[1024];
	wsprintf(msg, _T("arg:%d , filename: %s, linenum:%d\n"), arg, t_filename, linenum);

	setlocale(LC_ALL, "");
	_tprintf(msg);
}
int main()
{
	dtest(1);  //23 번째 줄
	return 0;
}​


 


'C++' 카테고리의 다른 글

Registry 레지스트리  (0) 2010.10.27
DLL (Dynamic Link Library)  (0) 2010.10.27
mysql connector/c++  (1) 2010.10.26
ODBC (open database connectivity)  (1) 2010.10.25
Database 연동  (0) 2010.10.22
struct padding (구조체 패딩) 문제  (0) 2010.10.21
UDP (User Datagram Protocol)  (0) 2010.10.19
TCP (Transmission Control Protocol)  (2) 2010.10.19