我試圖調試打印一個LPCWSTR
字符串,但我在緩衝區中的sprintf
推送期間遇到問題,因爲它只檢索字符串中的第一個字符。sprintf和LPCWSTR變量
下面是代碼:
HANDLE WINAPI hookedCreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) {
char buffer[1024];
sprintf_s(buffer, 1024, "CreateFileW: %s", lpFileName);
OutputDebugString(buffer);
return trueCreateFileW(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwFlagsAndAttributes, dwCreationDisposition, hTemplateFile);
}
比如我得到CreateFileW: C
或CreateFileW: \
。
如何正確地將它推入緩衝區?
謝謝。
不應該使用寬字符版本:'wsprintf_s'? – AraK 2010-06-14 14:06:09