OutputDebugStr() formatting variant of OutputDebugString() added
This commit is contained in:
parent
776c9eb8a7
commit
c9df50ce32
@ -114,6 +114,60 @@ inline int vsprintf(_Out_ std::basic_string<_Elem, _Traits, _Ax> &str, _In_z_ _P
|
|||||||
#pragma warning(pop)
|
#pragma warning(pop)
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Formats and sends a string to the debugger for display.
|
||||||
|
///
|
||||||
|
/// \sa [OutputDebugString function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363362.aspx)
|
||||||
|
///
|
||||||
|
inline VOID OutputDebugStrV(_In_ LPCSTR lpOutputString, _In_ va_list arg)
|
||||||
|
{
|
||||||
|
std::string str;
|
||||||
|
vsprintf(str, lpOutputString, arg);
|
||||||
|
OutputDebugStringA(str.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Formats and sends a string to the debugger for display.
|
||||||
|
///
|
||||||
|
/// \sa [OutputDebugString function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363362.aspx)
|
||||||
|
///
|
||||||
|
inline VOID OutputDebugStrV(_In_ LPCWSTR lpOutputString, _In_ va_list arg)
|
||||||
|
{
|
||||||
|
std::wstring str;
|
||||||
|
vsprintf(str, lpOutputString, arg);
|
||||||
|
OutputDebugStringW(str.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Formats and sends a string to the debugger for display.
|
||||||
|
///
|
||||||
|
/// \sa [OutputDebugString function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363362.aspx)
|
||||||
|
///
|
||||||
|
inline VOID OutputDebugStr(_In_ LPCSTR lpOutputString, ...)
|
||||||
|
{
|
||||||
|
va_list arg;
|
||||||
|
va_start(arg, lpOutputString);
|
||||||
|
OutputDebugStrV(lpOutputString, arg);
|
||||||
|
va_end(arg);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Formats and sends a string to the debugger for display.
|
||||||
|
///
|
||||||
|
/// \sa [OutputDebugString function](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363362.aspx)
|
||||||
|
///
|
||||||
|
inline VOID OutputDebugStr(_In_ LPCWSTR lpOutputString, ...)
|
||||||
|
{
|
||||||
|
va_list arg;
|
||||||
|
va_start(arg, lpOutputString);
|
||||||
|
OutputDebugStrV(lpOutputString, arg);
|
||||||
|
va_end(arg);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Formats string using `printf()`.
|
/// Formats string using `printf()`.
|
||||||
///
|
///
|
||||||
@ -525,6 +579,13 @@ namespace winstd
|
|||||||
typedef basic_string_printf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t>> wstring_printf;
|
typedef basic_string_printf<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t>> wstring_printf;
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef _UNICODE
|
||||||
|
typedef wstring_printf tstring_printf;
|
||||||
|
#else
|
||||||
|
typedef string_printf tstring_printf;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Base template class to support string formatting using `FormatMessage()` style templates
|
/// Base template class to support string formatting using `FormatMessage()` style templates
|
||||||
///
|
///
|
||||||
@ -591,16 +652,26 @@ namespace winstd
|
|||||||
/// @}
|
/// @}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Single-byte character implementation of a class to support string formatting using `FormatMessage()` style templates
|
/// Single-byte character implementation of a class to support string formatting using `FormatMessage()` style templates
|
||||||
///
|
///
|
||||||
typedef basic_string_msg<char, std::char_traits<char>, std::allocator<char> > string_msg;
|
typedef basic_string_msg<char, std::char_traits<char>, std::allocator<char> > string_msg;
|
||||||
|
|
||||||
|
|
||||||
///
|
///
|
||||||
/// Wide character implementation of a class to support string formatting using `FormatMessage()` style templates
|
/// Wide character implementation of a class to support string formatting using `FormatMessage()` style templates
|
||||||
///
|
///
|
||||||
typedef basic_string_msg<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > wstring_msg;
|
typedef basic_string_msg<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> > wstring_msg;
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef _UNICODE
|
||||||
|
typedef wstring_msg tstring_msg;
|
||||||
|
#else
|
||||||
|
typedef string_msg tstring_msg;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/// @}
|
/// @}
|
||||||
|
|
||||||
/// \defgroup WinStdMemSanitize Auto-sanitize Memory Management
|
/// \defgroup WinStdMemSanitize Auto-sanitize Memory Management
|
||||||
|
Loading…
x
Reference in New Issue
Block a user