这篇教程C++ vswprintf函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中vswprintf函数的典型用法代码示例。如果您正苦于以下问题:C++ vswprintf函数的具体用法?C++ vswprintf怎么用?C++ vswprintf使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了vswprintf函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: cvt_wprintfstatic void cvt_wprintf(FILE *dest,const wchar *fmt,va_list arglist){ // This buffer is for format string only, not for entire output, // so it can be short enough. wchar fmtw[1024]; PrintfPrepareFmt(fmt,fmtw,ASIZE(fmtw));#ifdef _WIN_ALL safebuf wchar Msg[MaxMsgSize]; if (dest==stdout && StdoutRedirected || dest==stderr && StderrRedirected) { // Avoid Unicode for redirect in Windows, it does not work with pipes. vswprintf(Msg,ASIZE(Msg),fmtw,arglist); safebuf char MsgA[MaxMsgSize]; WideToChar(Msg,MsgA,ASIZE(MsgA)); CharToOemA(MsgA,MsgA); // Console tools like 'more' expect OEM encoding. // We already converted /n to /r/n above, so we use WriteFile instead // of C library to avoid unnecessary additional conversion. HANDLE hOut=GetStdHandle(dest==stdout ? STD_OUTPUT_HANDLE:STD_ERROR_HANDLE); DWORD Written; WriteFile(hOut,MsgA,(DWORD)strlen(MsgA),&Written,NULL); return; } // MSVC2008 vfwprintf writes every character to console separately // and it is too slow. We use direct WriteConsole call instead. vswprintf(Msg,ASIZE(Msg),fmtw,arglist); HANDLE hOut=GetStdHandle(dest==stderr ? STD_ERROR_HANDLE:STD_OUTPUT_HANDLE); DWORD Written; WriteConsole(hOut,Msg,(DWORD)wcslen(Msg),&Written,NULL);#else vfwprintf(dest,fmtw,arglist); // We do not use setbuf(NULL) in Unix (see comments in InitConsole). fflush(dest);#endif}
开发者ID:BSzili,项目名称:aros-stuff,代码行数:35,
示例2: ivsprintfint ivsprintf(ichar *buffer, size_t max_size, const ichar *format, va_list argptr){#ifdef UNICODE__ICHAR_WIDE#ifdef _INC_SWPRINTF_INL_ return vswprintf(buffer, max_size, format, argptr);#else return vswprintf(buffer, format, argptr);#endif#else return vsprintf(buffer, format, argptr);#endif }
开发者ID:philiplin4sp,项目名称:production-test-tool,代码行数:12,
示例3: FormatVLconst char16 * FormatVL(const char16 * text, va_list ll){ if (formatString16Position + FORMAT_STRING_MAX_LEN >= FORMAT_STRING_SIZE) { formatString16Position = 0; }#if defined(_WIN32) int32 len = vswprintf((wchar_t *)&formatString16[formatString16Position], (wchar_t *)text, ll);#else // MAC_OS & other nix systems int32 len = vswprintf((wchar_t *)&formatString16[formatString16Position], FORMAT_STRING_MAX_LEN, (wchar_t *)text, ll);#endif formatString16Position += (len + 1); return &formatString16[formatString16Position - (len + 1)];}
开发者ID:abaradulkin,项目名称:dava.framework,代码行数:15,
示例4: _testfmtvoid_testfmt(const char *result, int line, const char *argstr, const char *fmt,...){#define BUF 100 wchar_t ws[BUF], wfmt[BUF], wresult[BUF]; char s[BUF]; va_list ap, ap2; va_start(ap, fmt); va_copy(ap2, ap); smash_stack(); vsnprintf(s, sizeof(s), fmt, ap); if (strcmp(result, s) != 0) { fprintf(stderr, "%d: printf(/"%s/", %s) ==> [%s], expected [%s]/n", line, fmt, argstr, s, result); abort(); } smash_stack(); mbstowcs(ws, s, BUF - 1); mbstowcs(wfmt, fmt, BUF - 1); mbstowcs(wresult, result, BUF - 1); vswprintf(ws, sizeof(ws) / sizeof(ws[0]), wfmt, ap2); if (wcscmp(wresult, ws) != 0) { fprintf(stderr, "%d: wprintf(/"%ls/", %s) ==> [%ls], expected [%ls]/n", line, wfmt, argstr, ws, wresult); abort(); } }
开发者ID:AhmadTux,项目名称:freebsd,代码行数:31,
示例5: LogvoidLog(const wchar_t *fmt, ...){#if !defined(SHOW_CONSOLE) return;#endif va_list a = nullptr; wchar_t szDebugString[1024]; if(!lstrlenW(fmt)) return; va_start(a,fmt); vswprintf(szDebugString, 1024, fmt, a); va_end(a); if(!lstrlenW(szDebugString)) return; DWORD len; WriteConsoleW(sCon, szDebugString, lstrlenW(szDebugString), &len, nullptr); WriteConsoleW(sCon, L"/n", 1, &len, nullptr); if (IsDebuggerPresent()) { OutputDebugStringW(szDebugString); OutputDebugStringW(L"/n"); }}
开发者ID:GJL,项目名称:mozilla-central,代码行数:25,
示例6: va_start void Log::PushLog( ELogType::Type type, const CHAR *pError, ... ) { if ( type > m_logLevel ) return; CHAR *tempMsg; SIZE_T len = 0; va_list arg_ptr; va_start( arg_ptr, pError ); #if defined(PSX_UNICODE) len = _vscwprintf( pError, arg_ptr ); tempMsg = new CHAR[len + 1]; vswprintf( tempMsg, pError, arg_ptr ); #else len = _vscprintf( pError, arg_ptr ); tempMsg = new CHAR[len + 1]; vsprintf( tempMsg, pError, arg_ptr ); #endif /* defined(PSX_UNICODE) */ // Display in output window OutputDebugString( tempMsg ); OutputDebugString( PSX_String("/n") ); PSX_SafeDeleteArray( tempMsg ); }
开发者ID:BrentChua,项目名称:Pulse-Tec,代码行数:26,
示例7: reportxvoid reportx(char *msg, int etype, ...){ letter mbuffer[4096]; letter msgbuffer[256]; va_list vlist; COPYDATASTRUCT cd; if(!reporting_initialized) return; if(!reporting_window) return; if(!IsWindow(reporting_window)) { reporting_window = 0; return; } va_start(vlist, etype); MultiByteToWideChar(CP_ACP, 0, msg, -1, msgbuffer, sizeof(msgbuffer) / sizeof(letter)); vswprintf(mbuffer, sizeof(mbuffer) / sizeof(letter), msgbuffer, vlist); cd.cbData = sizeof(mbuffer); cd.dwData = etype; cd.lpData = mbuffer; SendMessage(reporting_window, WM_COPYDATA, sizeof(letter) /* Unicode */, (LPARAM)&cd); va_end(vlist);}
开发者ID:hownam,项目名称:fennec,代码行数:28,
示例8: vswprintfvoid Logger::Logv(eLogLevel ll, const char16* text, va_list li){ wchar_t tmp[4096] = {0}; vswprintf(tmp, sizeof(tmp)/sizeof(wchar_t) - 2, text, li); wcscat(tmp, L"/n"); // always send log to custom subscribers CustomLog(ll, tmp); // print platform log or write log to file // only if log level is acceptable if (ll >= logLevel) { if(consoleModeEnabled) { ConsoleLog(ll, tmp); } else { PlatformLog(ll, tmp); } if(!logFilename.IsEmpty()) { FileLog(ll, tmp); } }}
开发者ID:droidenko,项目名称:dava.framework,代码行数:30,
示例9: IFXDebugTraceGenericI32 IFXAPI IFXDebugTraceGeneric( const IFXCHAR* pFormatString, ... ){#ifndef HAS_NO_WPRINT if ( gs_debugLevel >= IFXDEBUG_MESSAGE ) { const IFXCHAR *pComponentString = _GetStringFromIFXRESULT_Component( IFXRESULT_COMPONENT_GENERIC ); IFXCHAR pMessage[ _MESSAGE_LENGTH_MAX ]; wcscpy( pMessage, _PREFIX_STRING ); if( pComponentString ) wcscat( pMessage, pComponentString ); wcscat( pMessage, L" " ); swprintf( gs_pDebugMessage, _MESSAGE_LENGTH_MAX, pMessage ); IFXOSOutputDebugString( gs_pDebugMessage ); va_list args; va_start( args, pFormatString ); vswprintf( gs_pDebugMessage, _MESSAGE_LENGTH_MAX, pFormatString, args ); va_end( args ); IFXOSOutputDebugString( gs_pDebugMessage ); }#endif return 0;}
开发者ID:ClinicalGraphics,项目名称:MathGL,代码行数:27,
示例10: swprintfint swprintf(wchar_t* wcs, size_t maxlen, const wchar_t* format, ...) { va_list ap; va_start(ap, format); int result = vswprintf(wcs, maxlen, format, ap); va_end(ap); return result;}
开发者ID:MIPS,项目名称:prebuilts-ndk,代码行数:7,
示例11: swprintf_WCRTLINK int swprintf( CHAR_TYPE *dest, size_t n, const CHAR_TYPE *format, ... ){ va_list args; va_start( args, format ); return( vswprintf( dest, n, format, args ) );}
开发者ID:ArmstrongJ,项目名称:open-watcom-v2,代码行数:7,
示例12: DisplayLoadProgressvoid DisplayLoadProgress(const wchar_t *format, ...){#if 0 va_list args; wchar_t wbuf[INFO_BUF]; char buf[INFO_BUF]; /* process input */ va_start(args, format); vswprintf(wbuf, format, args); va_end(args); /* XXX: convert to multibyte */ wcstombs(buf, wbuf, INFO_BUF); printf(buf);#else static unsigned int i = 0; i++; if (i == 1) printf("/b-"); else if (i == 2) printf("/b//"); else if (i == 3) printf("/b|"); else { printf("/b/"); i = 0; }#endif}
开发者ID:open-develop,项目名称:project64,代码行数:27,
示例13: reasonable// Somewhat brute force, but works. Rewrite if necessary for speed.IFXString& IFXString::VSPrintf(const IFXCHAR* fmt, va_list ap){ int sz = m_BufferLength; if(!m_BufferLength) { // start at 80 bytes, seems reasonable (1 tty line) NewBuffer(80); sz = m_BufferLength; } else { NewBuffer(sz); } while(IFX_TRUE) { int n = vswprintf((IFXCHAR*)m_Buffer, m_BufferLength, fmt, ap); if(n > -1 && n < sz) { break; } if(n > -1) { sz = n+1; } else { sz *= 2; } NewBuffer(sz); } return *this;}
开发者ID:ClinicalGraphics,项目名称:u3d,代码行数:36,
示例14: 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(lpszMsgBuf, lpszMessage, arglist); // Dump string to debug output. OutputDebugStringW(lpszMsgBuf); // Clean up. delete[] lpszMsgBuf; return TRUE;}
开发者ID:corytodd,项目名称:WindowsPrinterDriver,代码行数:30,
示例15: OS_Printint OS_Print(BOOL cond, const char* string, ...){ WCHAR message[OS_BUFFER_SIZE]; WCHAR wstring[OS_BUFFER_SIZE]; va_list ptr; int iRequiredSize = 0; if (!cond) return 0; // Find out required string size (if you don't have that info) iRequiredSize = ::MultiByteToWideChar(CP_ACP, NULL, string, -1, NULL, 0); if (iRequiredSize > OS_BUFFER_SIZE) iRequiredSize = OS_BUFFER_SIZE; // Do the string conversion ::MultiByteToWideChar(CP_ACP, NULL, string , -1, wstring, iRequiredSize); va_start(ptr,string); vswprintf(message, wstring, ptr); va_end(ptr); RETAILMSG(1, (message)); return 1;}
开发者ID:xuweiqiang,项目名称:LibVRPresent,代码行数:26,
示例16: va_startwchar_t *dup_wprintf (int *rlen, wchar_t *format, ...){ va_list argptr; wchar_t *result = NULL; int len = 0; if (format == NULL) return NULL; va_start(argptr, format); len = _vscwprintf (format, argptr); if (len >= 0) { result = (wchar_t *) malloc (sizeof (wchar_t *) * (len + 1)); if (result != NULL) { int len2 = vswprintf (result, format, argptr); if (len2 != len || len2 <= 0) { free (result); result = NULL; } else if (rlen != NULL) *rlen = len; } } va_end(argptr); return result;}
开发者ID:LRN,项目名称:mimerun,代码行数:30,
示例17: Logint Log(LPCTSTR pszFormat, ...){ va_list ptr; va_start(ptr, pszFormat); wchar_t pszBuffer[1024];#pragma warning (push)#pragma warning(disable : 4995)#pragma warning(disable : 4996) vswprintf( pszBuffer, 1024, pszFormat, ptr );#pragma warning (pop) va_end(ptr); theApp.PrintfToString(pszBuffer); CCodeTesterDlg* pDlg= (CCodeTesterDlg*)theApp.GetMainWnd(); if(pDlg) { theApp.m_CritSection.Lock(); pDlg->m_OutPutCtrl.OutPut(pszBuffer); theApp.m_CritSection.Unlock(); return wcslen(pszBuffer); } return 0;}
开发者ID:SzAllen,项目名称:cmd-line-parser,代码行数:25,
示例18: _testfmtstatic void_testfmt(const char *result, const char *argstr, const char *fmt,...){#define BUF 100 wchar_t ws[BUF], wfmt[BUF], wresult[BUF]; char s[BUF]; va_list ap, ap2; va_start(ap, fmt); va_copy(ap2, ap); smash_stack(); vsnprintf(s, sizeof(s), fmt, ap); ATF_CHECK_MSG(strcmp(result, s) == 0, "printf(/"%s/", %s) ==> [%s], expected [%s]", fmt, argstr, s, result); smash_stack(); mbstowcs(ws, s, BUF - 1); mbstowcs(wfmt, fmt, BUF - 1); mbstowcs(wresult, result, BUF - 1); vswprintf(ws, sizeof(ws) / sizeof(ws[0]), wfmt, ap2); ATF_CHECK_MSG(wcscmp(wresult, ws) == 0, "wprintf(/"%ls/", %s) ==> [%ls], expected [%ls]", wfmt, argstr, ws, wresult); va_end(ap); va_end(ap2);}
开发者ID:2trill2spill,项目名称:freebsd,代码行数:28,
示例19: swprintfint swprintf(wchar_t* s, size_t n, const wchar_t* format, ...) { va_list args; va_start(args, format); int result = vswprintf(s, n, format, args); va_end(args); return result;}
开发者ID:WTree,项目名称:platform_bionic,代码行数:7,
示例20: trace_fmt2void trace_fmt2(const char *fmt, ...) { BOOL en; va_list ap; OEMCHAR buf[0x1000]; en = (tracewin.en & 2) && ((tracewin.en & 4) || (tracewin.tf != NULL)); if (en) { va_start(ap, fmt);#if defined(OSLANG_UCS2) OEMCHAR cnvfmt[0x800]; MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, fmt, -1, cnvfmt, NELEMENTS(cnvfmt)); vswprintf(buf, cnvfmt, ap);#else vsprintf(buf, fmt, ap);#endif va_end(ap); if ((tracewin.en & 4) && (hView)) { View_AddString(buf); } if (tracewin.tf != FILEH_INVALID) { textfile_write(tracewin.tf, buf); textfile_write(tracewin.tf, crlf); } }}
开发者ID:josejl1987,项目名称:neko-tracer,代码行数:28,
示例21: va_copyinline VOID CharTraits<WCHAR>::FormatV( WCHAR* Buffer, SIZE_T Count, CONST WCHAR* Format, va_list Args ){ va_list Args0; va_copy(Args0,Args); vswprintf( Buffer, Count, Format, Args0 ); va_end(Args0);}
开发者ID:anareboucas,项目名称:nanook,代码行数:7,
示例22: va_startvoid GUI_Laftfont::printgl(int x, int y, int z, const wchar_t *fmt, ...){ wchar_t text[2048]; va_list ap; size_t str_len; if ((!listsFont) || (!fmt)) return; va_start(ap, fmt); #ifdef WIN32 _vsnwprintf(text, 2048, fmt, ap); #else vswprintf(text, 2048, fmt, ap); #endif va_end(ap); str_len = wcslen(text); // should be in modelview mode glPushMatrix(); glLoadIdentity(); glEnable(GL_TEXTURE_2D); glListBase(listsFont); glTranslatef((float)x, (float)y, (float)z); glScalef(1.0f, -1.0f, 1.0f); #ifdef WIN32 glCallLists((GLsizei)(str_len), GL_UNSIGNED_SHORT, text); #else glCallLists((GLsizei)(str_len), GL_UNSIGNED_INT, text); #endif glDisable(GL_TEXTURE_2D); glPopMatrix(); return;}
开发者ID:highattack30,项目名称:xptools,代码行数:34,
示例23: vaconst wchar_t* va(const wchar_t* string, ...){ static __thread int currentBuffer; static __thread wchar_t* buffer; if (!buffer) { buffer = new wchar_t[BUFFER_COUNT * BUFFER_LENGTH]; } int thisBuffer = currentBuffer; va_list ap; va_start(ap, string); int length = vswprintf(&buffer[thisBuffer * BUFFER_LENGTH], BUFFER_LENGTH, string, ap); va_end(ap); if (length >= BUFFER_LENGTH) { Com_Printf(0, "ERROR: Attempted to overrun string in call to va()!"); exit(1); } buffer[(thisBuffer * BUFFER_LENGTH) + BUFFER_LENGTH - 1] = '/0'; currentBuffer = (currentBuffer + 1) % BUFFER_COUNT; return &buffer[thisBuffer * BUFFER_LENGTH];}
开发者ID:DidUknowiPwn,项目名称:T4M,代码行数:29,
示例24: _vscwprintf int wchar_traits::Format( wchar_t** ppszDst, const wchar_t* pszFormat, va_list args ) { int len = _vscwprintf( pszFormat, args ); // _vscprintf doesn't count terminating '/0' *ppszDst = (wchar_t*)cui::CuiMalloc((len+1)*sizeof(wchar_t)); vswprintf(*ppszDst, pszFormat, args); return len; }
开发者ID:caiyongjian,项目名称:CUI,代码行数:7,
示例25: LogWMsg// Note: I could overload LogMsg to take a WCHAR* as the first argument but// this way I am less likely to match the WCHAR* version with a char* argument// or vice versa. It would also conflict with the UNICODE build.// Function name : LogWMsg// Description : // Return type : void // Argument : WCHAR* pFormat// Argument : ...void LogWMsg(WCHAR* pFormat, ...){ WCHAR wchMsg[LOCAL_BUFFER_SIZE]; va_list pArg; va_start(pArg, pFormat); vswprintf(wchMsg, pFormat, pArg); va_end(pArg); //* openlog("MPILauncher", LOG_APP); char msg[LOCAL_BUFFER_SIZE]; wcstombs(msg, wchMsg, wcslen(wchMsg)+1); syslog(LOG_INFO, msg); closelog(); /*/ WaitForSingleObject(g_hLogMutex, INFINITE); FILE *fout = _tfopen(MPIJOB_LOG_FILENAME, TEXT("a")); if (fout != NULL) { fprintf(fout, "%4d :%7u ", GetCurrentThreadId(), clock()); fwprintf(fout, L"%s", wchMsg); fclose(fout); } ReleaseMutex(g_hLogMutex); //*/}
开发者ID:hpc,项目名称:mvapich-cce,代码行数:35,
示例26: 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,
示例27: LogvoidLog(const wchar_t *fmt, ...){#if !defined(SHOW_CONSOLE) DWORD dwRes = 0; if (!GetDWORDRegKey(cehDumpDebugStrings, dwRes) || !dwRes) { return; }#endif va_list a = nullptr; wchar_t szDebugString[1024]; if(!lstrlenW(fmt)) return; va_start(a,fmt); vswprintf(szDebugString, 1024, fmt, a); va_end(a); if(!lstrlenW(szDebugString)) return; DWORD len; WriteConsoleW(sCon, szDebugString, lstrlenW(szDebugString), &len, nullptr); WriteConsoleW(sCon, L"/n", 1, &len, nullptr); OutputDebugStringW(szDebugString); OutputDebugStringW(L"/n");}
开发者ID:Andrel322,项目名称:gecko-dev,代码行数:26,
示例28: reportuvoid reportu(string msg, int etype, ...){ letter mbuffer[4096]; va_list vlist; COPYDATASTRUCT cd; if(!reporting_initialized) return; if(!reporting_window) return; if(!IsWindow(reporting_window)) { reporting_window = 0; return; } va_start(vlist, etype); vswprintf(mbuffer, sizeof(mbuffer) / sizeof(letter), msg, vlist); cd.cbData = sizeof(mbuffer); cd.dwData = etype; cd.lpData = mbuffer; SendMessage(reporting_window, WM_COPYDATA, sizeof(letter) /* Unicode */, (LPARAM)&cd); va_end(vlist);}
开发者ID:hownam,项目名称:fennec,代码行数:26,
示例29: send_msgint send_msg (int id, int mode, int partner, wchar_t *format, ...) { struct message msg; struct msqid_ds msgstat; va_list arglist; va_start(arglist,format); msg.prio = partner; vswprintf(msg.text, MSGLEN, format, arglist); if (mode == IPC_NOWAIT) { msgsnd(id, &msg, MSGLEN, mode);// wprintf (L"SEND -- free: %d / self: %d / partner: %d/n", 16 - msgstat.msg_qnum, getpid(), partner); }/*ushort msg_cbytes; // Anzahl belegten Bytes in Queueushort msg_qnum; // Anzahl der Nachrichten in Queueushort msg_qbytes; // Max. Anzahl Bytes der Queue*/ else { while (1) { msgctl(id, IPC_STAT, &msgstat); if ((((msgstat.msg_qbytes - msgstat.msg_cbytes) * 100) / msgstat.msg_qbytes) > QRESERVE) {// wprintf (L"SEND -- free: %d / self: %d / partner: %d/n", 16 - msgstat.msg_qnum, getpid(), partner); msgsnd(id, &msg, MSGLEN, mode); break; }// else wprintf(L"HOLD -- free: %d / self: %d / partner: %d/n", 16 - msgstat.msg_qnum, getpid(), partner); usleep (FREQUENCY); } } return 0;}
开发者ID:reiszner,项目名称:judged,代码行数:33,
注:本文中的vswprintf函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ vswprintf_s函数代码示例 C++ vstring_strcpy函数代码示例 |