这篇教程C++ vswprintf_s函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中vswprintf_s函数的典型用法代码示例。如果您正苦于以下问题:C++ vswprintf_s函数的具体用法?C++ vswprintf_s怎么用?C++ vswprintf_s使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了vswprintf_s函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: _vscwprintfVOID Console::FormatV( LPCWSTR wstrFormat, va_list pArgList ){ // Count the required length of the string DWORD dwStrLen = _vscwprintf( wstrFormat, pArgList ) + 1; // +1 = null terminator WCHAR* strMessage = ( WCHAR* )_malloca( dwStrLen * sizeof( WCHAR ) ); vswprintf_s( strMessage, dwStrLen, wstrFormat, pArgList ); // Output the string to the console for( DWORD i = 0; i < wcslen( strMessage ); i++ ) { Add( strMessage[i] ); } // Output the string to the debug channel, if requested if( m_bOutputToDebugChannel ) { OutputDebugStringW( strMessage ); } // Render the new output Render(); _freea( strMessage );}
开发者ID:maninha22crazy,项目名称:xboxplayer,代码行数:25,
示例2: LogDebugvoid LogDebug(const wchar_t *fmt, ...){//#ifdef DEBUG va_list ap; va_start(ap,fmt); va_start(ap,fmt); vswprintf_s(logbufferw, fmt, ap); va_end(ap); wchar_t fileName[MAX_PATH]; GetLogFile(fileName); FILE* fp = _wfopen(fileName,L"a+, ccs=UTF-8"); if (fp!=NULL) { SYSTEMTIME systemTime; GetLocalTime(&systemTime); fwprintf(fp,L"%02.2d-%02.2d-%04.4d %02.2d:%02.2d:%02.2d.%02.2d %s/n", systemTime.wDay, systemTime.wMonth, systemTime.wYear, systemTime.wHour,systemTime.wMinute,systemTime.wSecond,systemTime.wMilliseconds, logbufferw); fclose(fp); //::OutputDebugStringW(logbufferw);::OutputDebugStringW(L"/n"); }//#endif};
开发者ID:Erls-Corporation,项目名称:MediaPortal-1,代码行数:26,
示例3: GET_CURRENT_THREAD_IDvoid LogWriter::log(WCHAR *fmt, va_list args){ wstr_t logMessage = CLOCK.nowTimeWithMilliSec(); size_t threadId = GET_CURRENT_THREAD_ID(); logMessage += L"/t"; Thread *thread = ThreadManager::getInstance().at(threadId); if (thread) { logMessage += thread->name(); } else { logMessage += prefix_; } array<WCHAR, SIZE_8 * 2> threadIdStr; snwprintf(threadIdStr, L"0x%X", threadId); logMessage += L":"; logMessage += threadIdStr.data(); logMessage += L"/t"; array<WCHAR, SIZE_1024> logStr; vswprintf_s(logStr.data(), logStr.size(), fmt, args); logMessage += logStr.data(); logMessage += L"/n"; base_->log((WCHAR *)logMessage.c_str());}
开发者ID:WolfHolic,项目名称:ServerCode,代码行数:29,
示例4: lstrcpy BOOL Application::Error(BOOL Fatal, LPCTSTR Text, ...) { TCHAR CaptionText[12]; TCHAR ErrorText[2048]; va_list valist; // Build the message box caption based on fatal flag if(Fatal == FALSE) lstrcpy(CaptionText, L"Error"); else lstrcpy(CaptionText, L"Fatal Error"); // Build variable text buffer va_start(valist, Text); vswprintf_s(ErrorText, sizeof(ErrorText), Text, valist); va_end(valist); // Display the message box MessageBox(NULL, ErrorText, CaptionText, MB_OK | MB_ICONEXCLAMATION); // Post a quit message if error was fatal if(Fatal == TRUE) PostQuitMessage(0); return TRUE; }
开发者ID:whztt07,项目名称:XGameEngine,代码行数:26,
示例5: DebugMessageVstatic BOOL DebugMessageV(DWORD dwSize, LPCWSTR lpszMessage, va_list arglist){ LPWSTR lpszMsgBuf; // Parameter checking. if( (NULL == lpszMessage) || (0 == dwSize) ) { return FALSE; } // Allocate memory for message buffer. lpszMsgBuf = new WCHAR[dwSize + 1]; if(NULL == lpszMsgBuf) return FALSE; // Pass the variable parameters to wvsprintf to be formated. vswprintf_s(lpszMsgBuf, dwSize + 1, lpszMessage, arglist); // Dump string to debug output. OutputDebugStringW(lpszMsgBuf); // Clean up. delete[] lpszMsgBuf; return TRUE;}
开发者ID:syzh120,项目名称:CCPDFConverter,代码行数:30,
示例6: StringCchAVPrintfWHRESULT StringCchAVPrintfW(_In_ HANDLE hHeap, _Outptr_result_nullonfailure_ LPWSTR *plpszDest, _Out_opt_ size_t *pcchDest, _In_ LPCWSTR lpszFormat, _In_ va_list argList){ LPWSTR lpszDest; int cchDest; if (!hHeap || !plpszDest || !lpszFormat) return STRSAFE_E_INVALID_PARAMETER; *plpszDest = NULL; if (pcchDest) *pcchDest = 0; cchDest = _vscwprintf(lpszFormat, argList); if (cchDest < 0 || cchDest > STRSAFE_MAX_CCH) return STRSAFE_E_INVALID_PARAMETER; if ((cchDest+1) <= cchDest) return STRSAFE_E_INVALID_PARAMETER; cchDest += 1; lpszDest = (LPWSTR) HeapAlloc(hHeap, HEAP_ZERO_MEMORY, cchDest * sizeof(WCHAR)); if (lpszDest) { cchDest = vswprintf_s(lpszDest, cchDest, lpszFormat, argList); if (cchDest >= 0) { *plpszDest = lpszDest; if (pcchDest) *pcchDest = cchDest; return S_OK; } else { HeapSafeFree(hHeap, 0, lpszDest); } } return STRSAFE_E_INSUFFICIENT_BUFFER;}
开发者ID:kleopatra999,项目名称:wiasane,代码行数:35,
示例7: logvoid log(const wchar_t* format, ...){ if (!s_enableLogging) { return; } auto dir = settings::settingsDirectory(); CreateDirectory(dir.c_str(), nullptr); auto file = CreateFile((dir + L"//log.txt").c_str(), GENERIC_WRITE, FILE_SHARE_READ, nullptr, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr); if (file == INVALID_HANDLE_VALUE) { return; } SetFilePointer(file, 0, nullptr, FILE_END); va_list args1, args2; va_start(args1, format); va_copy(args2, args1); int length = _vscwprintf(format, args1); if (length > 0) { size_t size = size_t(length + 3); wchar_t* buffer = new wchar_t[size]; buffer[0] = 0; vswprintf_s(buffer, size, format, args2); wcscat_s(buffer, size, L"/r/n"); DWORD written; WriteFile(file, buffer, (length + 2) * sizeof(wchar_t), &written, nullptr); delete[] buffer; } va_end(args1); va_end(args2); CloseHandle(file);}
开发者ID:filipppavlov,项目名称:LaunchGrid,代码行数:34,
示例8: DbgPrintstatic void DbgPrint(LPCWSTR format, ...) { if (g_DebugMode) { const WCHAR *outputString; WCHAR *buffer = NULL; size_t length; va_list argp; va_start(argp, format); length = _vscwprintf(format, argp) + 1; buffer = _malloca(length * sizeof(WCHAR)); if (buffer) { vswprintf_s(buffer, length, format, argp); outputString = buffer; } else { outputString = format; } if (g_UseStdErr) fputws(outputString, stderr); else OutputDebugStringW(outputString); if (buffer) _freea(buffer); va_end(argp); }}
开发者ID:cnhup,项目名称:dokany,代码行数:25,
示例9: Assert void JavascriptError::SetErrorMessage(JavascriptError *pError, HRESULT hr, ScriptContext* scriptContext, va_list argList) { Assert(FAILED(hr)); wchar_t * allocatedString = nullptr; if (FACILITY_CONTROL == HRESULT_FACILITY(hr) || FACILITY_JSCRIPT == HRESULT_FACILITY(hr)) { if (argList != nullptr) { HRESULT hrAdjusted = GetAdjustedResourceStringHr(hr, /* isFormatString */ true); BSTR message = BstrGetResourceString(hrAdjusted); if (message != nullptr) { size_t len = _vscwprintf(message, argList); Assert(len > 0); len = AllocSizeMath::Add(len, 1); allocatedString = RecyclerNewArrayLeaf(scriptContext->GetRecycler(), wchar_t, len);#pragma prefast(push)#pragma prefast(disable:26014, "allocatedString allocated size more than msglen")#pragma prefast(disable:26000, "allocatedString allocated size more than msglen") len = vswprintf_s(allocatedString, len, message, argList); Assert(len > 0);#pragma prefast(pop) SysFreeString(message); } }
开发者ID:EdwardBetts,项目名称:spidernode,代码行数:29,
示例10: lockvoid _cdecl CGameUpdate::SetErrorInfo(UpdateErrorCode enErrCode, ...){ AutoLock lock(m_lockStatus); if (m_UpdateStuats.dwStatus == UPDATE_STATUS_ERROR) { return; } m_UpdateStuats.dwStatus = UPDATE_STATUS_ERROR; m_UpdateStuats.dwLeftTime = 0; m_UpdateStuats.enErrCode = enErrCode; TCHAR atErrInfo[MAX_PATH] = _T("Unknown Error."); for (int i = 0; i < _countof(C_ERR_INFO); ++i) { if (C_ERR_INFO[i].enErrCode == enErrCode) { _tcscpy_s(atErrInfo, C_ERR_INFO[i].lpszErrInfo); break; } } va_list marker; va_start(marker, enErrCode); vswprintf_s(m_UpdateStuats.awInfo, atErrInfo, marker); va_end(marker); //notify thread exit. if (m_hExited != NULL) SetEvent(m_hExited);}
开发者ID:lubing521,项目名称:important-files,代码行数:30,
示例11: kprintfvoid kprintf(PCWCHAR format, ...){#ifdef _WINDLL int varBuf; size_t tempSize;#endif va_list args; va_start(args, format);#ifndef _WINDLL vwprintf(format, args); fflush(stdout);#else if(outputBuffer) { varBuf = _vscwprintf(format, args); if(varBuf > 0) { if((size_t) varBuf > (outputBufferElements - outputBufferElementsPosition - 1)) // NULL character { tempSize = (outputBufferElements + varBuf + 1) * 2; // * 2, just to be cool if(outputBuffer = (wchar_t *) LocalReAlloc(outputBuffer, tempSize * sizeof(wchar_t), LMEM_MOVEABLE)) outputBufferElements = tempSize; } varBuf = vswprintf_s(outputBuffer + outputBufferElementsPosition, outputBufferElements - outputBufferElementsPosition, format, args); if(varBuf > 0) outputBufferElementsPosition += varBuf; } }#endif if(logfile) vfwprintf(logfile, format, args); va_end(args); fflush(logfile);}
开发者ID:smile921,项目名称:ocker,代码行数:34,
示例12: LogDebugvoid LogDebug(const wchar_t *fmt, ...){ va_list ap; va_start(ap,fmt); va_start(ap,fmt); vswprintf_s(logbufferw, fmt, ap); va_end(ap); wchar_t folder[MAX_PATH]; wchar_t fileName[MAX_PATH]; ::SHGetSpecialFolderPathW(NULL, folder, CSIDL_COMMON_APPDATA, FALSE); swprintf_s(fileName, L"%s//Team MediaPortal//MediaPortal TV Server//log//streaming server.Log", folder); FILE* fp = _wfopen(fileName,L"a+, ccs=UTF-8"); if (fp!=NULL) { SYSTEMTIME systemTime; GetLocalTime(&systemTime); fwprintf(fp,L"[%04.4d-%02.2d-%02.2d %02.2d:%02.2d:%02.2d,%03.3d] [%x] - %s/n", systemTime.wYear, systemTime.wMonth, systemTime.wDay, systemTime.wHour, systemTime.wMinute, systemTime.wSecond, systemTime.wMilliseconds, GetCurrentThreadId(), logbufferw); fclose(fp); }};
开发者ID:Azzuro,项目名称:MediaPortal-1,代码行数:27,
示例13: assert/*-----------------------------------------------------------------------------*/std::wstring StringUtil::Format(const wchar_t* fmt, ...){ va_list arguments; std::wstring buffer = L""; assert(fmt); va_start(arguments, fmt); { int length = _vscwprintf(fmt, arguments); if (length >= 0) { std::unique_ptr<wchar_t[]> buf(new wchar_t[length + 1]);#ifdef _WIN32 int result = vswprintf_s(buf.get(), length + 1, fmt, arguments);#else int result = vswprintf(buf.get(), length + 1, fmt, arguments);#endif if (result >= 0) { buffer = buf.get(); } } } va_end(arguments); return buffer;}
开发者ID:ai5,项目名称:shogi_repeat,代码行数:33,
|