// // wcsncat.cpp // // Copyright (c) Microsoft Corporation. All rights reserved. // // Defines wcsncat(), which appends n characters of the source string onto the // end of the destination string. The destination string is always null // terminated. Unlike wcsncpy, this function does not pad out to 'count' // characters. // #include #pragma warning(disable:__WARNING_POTENTIAL_BUFFER_OVERFLOW_NULLTERMINATED) // 26018 extern "C" wchar_t* __cdecl wcsncat( wchar_t* const destination, wchar_t const* const source, size_t const count ) { wchar_t* destination_it = destination; // Find the end of the destination string: while (*destination_it) ++destination_it; // Append the source string: wchar_t const* source_it = source; for (size_t i = 0; i != count; ++i) { if ((*destination_it++ = *source_it++) == 0) return destination; } *destination_it = 0; return destination; }