2010-06-18 2 views
3

나는 C++ 창으로 코딩하고있다. ? INT64를 CString에 쓰는 방법

INT64 dirID = -1; 
CString querySQLStr = _T(""); 
querySQLStr.Format(L"select * from ImageInfo where FolderPath=%64d;", dirID); 

querySQLStr always like this: 
select * from ImageInfo where FolderPath=               1214; 

는 바로 I가이 테스트 편리한 윈도우 머신이없는 %에게 64 D 많은 감사

답변

8

을 사용하는 것입니다,하지만 난 CString을이 동의해야한다고 생각 :

querySQLStr.Format("%I64d", dirID); 

아마도이 점은 Windows에만 국한된다는 점에 유의할 가치가 있습니다.하지만 CString을 사용하고 있으므로 괜찮습니다.

+0

나는이 작업을 수행 확인할 수 있습니다. % lld (두 개의 소문자 L)도 작동하며, (Win32 이상에서) 최소한 INT64 (다른 헤더 파일에 의해 정의 됨)와 같이 _int64로 typedefed되는 LONGLONG을 참조합니다. – JTeagle

0

나는 당신이 시도 할 필요가 있다고 생각 :

__int64 val; 
...... 
ParamVal.Format(_T("%d{I64}"), val); 
관련 문제