39 char*
string = source_string;
63 wchar_t wchar_buff[2];
70 if (wchar_buff[0] ==
'\0')
73 int size_converted = 0;
75 if (wctomb_result != 0)
84 string += size_converted;
85 *size_read += size_converted;
115 size_t const size_in_bytes =
static_cast<size_t>(
string[0]);
117 size_t size_read = 0;
120#pragma warning(suppress:__WARNING_POTENTIAL_BUFFER_OVERFLOW_NULLTERMINATED)
125#pragma warning(suppress:__WARNING_POTENTIAL_BUFFER_OVERFLOW_NULLTERMINATED)
126 string[1] =
static_cast<char>(size_read);
128 return result == 0 ?
string + 2 :
nullptr;
int __console_wchar_buffer_used
intptr_t __dcrt_lowio_console_input_handle
wchar_t __console_wchar_buffer
errno_t __cdecl _cgets_s(char *const source_string, size_t const size_in_bytes, size_t *const size_read)
errno_t __cdecl _cgetws_s(wchar_t *const string_buffer, size_t const size_in_words, size_t *const size_read)
void __cdecl __acrt_unlock(_In_ __acrt_lock_id lock)
#define _RESET_STRING(_String, _Size)
__acrt_lock(__acrt_heap_lock)
static WCHAR available[MAX_STRING_RESOURCE_LEN]
#define _VALIDATE_CLEAR_OSSERR_RETURN(expr, errorcode, retexpr)
#define _VALIDATE_CLEAR_OSSERR_RETURN_ERRCODE(expr, errorcode)
errno_t __cdecl wctomb_s(int *const return_value, char *const destination, size_t const destination_count, wchar_t const wchar)