기본 콘텐츠로 건너뛰기

4월, 2016의 게시물 표시

[c/c++] printf, wprintf 관련 format string 기술자

링크: https://msdn.microsoft.com/en-us/library/tcxf1dw6.aspx 링크를 보시면 이해가 빠른데, "%I64d" 는 "%" + "I64" + "d" 이렇게 3부분으로 나눌수 있습니다. 중간은 생략 가능해서 생략하는 경우가 많다 로 이해하시면 쉬울듯 저도 혼돈스러워 다시 정리합니다. 추가로 몇개 더 정리하면 다음과 같습니다. %Id - 32bit platform - long 타입 / signed  - 64bit platform - longl.ong 타입 / signed  %I64d - longlong / signed %I64u - longlong / unsigned

[C/C++] VS2010 lambdas log 남기는 것에 대한 테스트 프로그램

// lambdas 함수에서 함수명 로그 남기는 방법은 없음 #include "stdafx.h" #include <iostream> void f2(){ auto& _func_ = __FUNCTIONW__; auto fx2 = [&]{ std::wcout << _func_ << L"\n"; std::wcout << __FUNCTIONW__ << L"\n"; }; fx2(); } struct XOUT{ void f(){ auto& _func_ = __FUNCTIONW__; auto fx2 = [&]{ std::wcout << _func_ << L"\n"; std::wcout << __FUNCTIONW__ << L"\n"; }; fx2(); } }; int _tmain(int argc, _TCHAR* argv[]) { struct X{ void f(){ auto& _func_ = __FUNCTIONW__; auto fx2 = [&]{ std::wcout << _func_ << L"\n"; std::wcout << __FUNCTIONW__ << L"\n"; }; fx2(); } }; auto& _func_ = __FUNCTIONW__; auto fx2 = [&]{ std::wcout << _func_ << L"\n"; }; fx2(); f2(); //XOUT.f(); // 컴파일 오류 남 XOUT().f(); //X.f();