2010-06-18 10 views
3

Je suis en train de coder dans C++ windows.Comment écrire 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; 

est bon d'utiliser% 64d Merci beaucoup

Répondre

8

Je n'ai pas une machine Windows à portée de main pour tester ce, mais je pense que CString devrait accepter:

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

Il est probablement intéressant de noter que c'est spécifique à Windows, mais puisque vous utilisez CString, je suppose que c'est correct.

+0

je peux le confirmer fonctionne. % lld (deux L minuscules) fonctionnera également, le 'll' se référant à LONGLONG, qui (sous Win32 au moins) est typedefed comme _int64, tout comme INT64 (défini par différents fichiers d'en-tête). – JTeagle

0

je pense que vous devez essayer:

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