#pragma once
#ifndef _INC_STRING // include guard for 3rd party interop
#define _INC_STRING
#include <corecrt.h>
#include <corecrt_memory.h>
#include <corecrt_wstring.h>
#include <vcruntime_string.h>
#ifndef __midl
_CRT_BEGIN_C_HEADER
__pragma
(pack(push,
8
))
extern
"C"
{
#define _NLSCMPERROR _CRT_INT_MAX // currently == INT_MAX
#if __STDC_WANT_SECURE_LIB__
_Check_return_wat_
_ACRTIMP errno_t __cdecl strcpy_s(
__declspec
(dllimport)
__cdecl
(
_Out_writes_z_(_SizeInBytes) char* _Destination,
_In_ rsize_t _SizeInBytes,
_In_z_ char const* _Source
);
_Check_return_wat_
_ACRTIMP errno_t __cdecl strcat_s(
__declspec
(dllimport)
__cdecl
(
_Inout_updates_z_(_SizeInBytes) char* _Destination,
_In_ rsize_t _SizeInBytes,
_In_z_ char const* _Source
);
_Check_return_wat_
_ACRTIMP errno_t __cdecl strerror_s(
__declspec
(dllimport)
__cdecl
(
_Out_writes_z_(_SizeInBytes) char* _Buffer,
_In_ size_t _SizeInBytes,
_Check_return_wat_
_ACRTIMP errno_t __cdecl strncat_s(
__declspec
(dllimport)
__cdecl
(
_Inout_updates_z_(_SizeInBytes) char* _Destination,
_In_ rsize_t _SizeInBytes,
_In_reads_or_z_(_MaxCount) char const* _Source,
);
_Check_return_wat_
_ACRTIMP errno_t __cdecl strncpy_s(
__declspec
(dllimport)
__cdecl
(
_Out_writes_z_(_SizeInBytes) char* _Destination,
_In_ rsize_t _SizeInBytes,
_In_reads_or_z_(_MaxCount) char const* _Source,
);
_Check_return_
_ACRTIMP char* __cdecl strtok_s(
__declspec
(dllimport)
char
*
__cdecl
(
_Inout_opt_z_ char* _String,
_In_z_ char const* _Delimiter,
_Inout_ _Deref_prepost_opt_z_ char** _Context
);
#endif // __STDC_WANT_SECURE_LIB__
_ACRTIMP void* __cdecl _memccpy(
__declspec
(dllimport)
void
*
__cdecl
(
_Out_writes_bytes_opt_(_MaxCount) void* _Dst,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(
errno_t, strcat_s,
char, _Destination,
_In_z_ char const*, _Source
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
char
(&
)[
],
char
const
*
)
throw
() {
return
(
,
,
); } }
#ifndef RC_INVOKED
#pragma warning(push)
#pragma warning(disable: 28719) // __WARNING_BANNED_API_USAGE
#pragma warning(disable:
28719
)
#pragma warning(disable: 28726) // __WARNING_BANNED_API_USAGEL2
#pragma warning(disable:
28726
)
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1(
char*, __RETURN_POLICY_DST, __EMPTY_DECLSPEC, strcat,
_Inout_updates_z_(_String_length_(_Destination) + _String_length_(_Source) + 1), char, _Destination,
_In_z_ char const*, _Source
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"strcat_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
char
*
__cdecl
(
char
*
,
char
const
*
);
#pragma warning(pop)
#endif // RC_INVOKED
_Check_return_
int
__cdecl
(
_In_z_ char const* _Str1,
);
_Check_return_
_ACRTIMP int __cdecl _strcmpi(
__declspec
(dllimport)
int
__cdecl
(
_In_z_ char const* _String1,
_In_z_ char const* _String2
);
_Check_return_
_ACRTIMP int __cdecl strcoll(
__declspec
(dllimport)
int
__cdecl
(
_In_z_ char const* _String1,
_In_z_ char const* _String2
);
_Check_return_
_ACRTIMP int __cdecl _strcoll_l(
__declspec
(dllimport)
int
__cdecl
(
_In_z_ char const* _String1,
_In_z_ char const* _String2,
_In_opt_ _locale_t _Locale
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(
errno_t, strcpy_s,
_Post_z_ char, _Destination,
_In_z_ char const*, _Source
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
char
(&
)[
],
char
const
*
)
throw
() {
return
(
,
,
); } }
#pragma warning(push)
#pragma warning(disable: 28719) // __WARNING_BANNED_API_USAGE
#pragma warning(disable:
28719
)
#pragma warning(disable: 28726) // __WARNING_BANNED_API_USAGEL2
#pragma warning(disable:
28726
)
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1(
char*, __RETURN_POLICY_DST, __EMPTY_DECLSPEC, strcpy,
_Out_writes_z_(_String_length_(_Source) + 1), char, _Destination,
_In_z_ char const*, _Source
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"strcpy_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
char
*
__cdecl
(
char
*
,
char
const
*
);
#pragma warning(pop)
_Check_return_
_ACRTIMP size_t __cdecl strcspn(
__declspec
(dllimport)
__cdecl
(
_In_z_ char const* _Control
);
#if defined _DEBUG && defined _CRTDBG_MAP_ALLOC
#pragma push_macro("_strdup")
#undef _strdup
#endif
_Check_return_
_ACRTIMP _CRTALLOCATOR char* __cdecl _strdup(
__declspec
(dllimport)
__declspec
(allocator)
char
*
__cdecl
(
_In_opt_z_ char const* _Source
);
#if defined _DEBUG && defined _CRTDBG_MAP_ALLOC
#pragma pop_macro("_strdup")
#endif
_Ret_z_
_Success_(return != 0)
_Check_return_ _CRT_INSECURE_DEPRECATE(_strerror_s)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_strerror_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP char* __cdecl _strerror(
__declspec
(dllimport)
char
*
__cdecl
(
_In_opt_z_ char const* _ErrorMessage
);
_Check_return_wat_
_ACRTIMP errno_t __cdecl _strerror_s(
__declspec
(dllimport)
__cdecl
(
_Out_writes_z_(_SizeInBytes) char* _Buffer,
_In_ size_t _SizeInBytes,
_In_opt_z_ char const* _ErrorMessage
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(
errno_t, _strerror_s,
char, _Buffer,
_In_opt_z_ char const*, _ErrorMessage
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
char
(&
)[
],
char
const
*
)
throw
() {
return
(
,
,
); } }
_Ret_z_
_Check_return_ _CRT_INSECURE_DEPRECATE(strerror_s)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"strerror_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP char* __cdecl strerror(
__declspec
(dllimport)
char
*
__cdecl
(
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(
errno_t, strerror_s,
char, _Buffer,
_In_ int, _ErrorMessage
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
char
(&
)[
],
int
)
throw
() {
return
(
,
,
); } }
_Check_return_
_ACRTIMP int __cdecl _stricmp(
__declspec
(dllimport)
int
__cdecl
(
_In_z_ char const* _String1,
_In_z_ char const* _String2
);
_Check_return_
_ACRTIMP int __cdecl _stricoll(
__declspec
(dllimport)
int
__cdecl
(
_In_z_ char const* _String1,
_In_z_ char const* _String2
);
_Check_return_
_ACRTIMP int __cdecl _stricoll_l(
__declspec
(dllimport)
int
__cdecl
(
_In_z_ char const* _String1,
_In_z_ char const* _String2,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP int __cdecl _stricmp_l(
__declspec
(dllimport)
int
__cdecl
(
_In_z_ char const* _String1,
_In_z_ char const* _String2,
_In_opt_ _locale_t _Locale
);
_Check_return_
__cdecl
(
);
_Check_return_wat_
_ACRTIMP errno_t __cdecl _strlwr_s(
__declspec
(dllimport)
__cdecl
(
_Inout_updates_z_(_Size) char* _String,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(
errno_t, _strlwr_s,
_Prepost_z_ char, _String
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
char
(&
)[
])
throw
() {
return
(
,
); } }
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(
char*, __RETURN_POLICY_DST, _ACRTIMP, _strlwr,
_Inout_z_, char, _String
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_strlwr_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
char
*
__cdecl
(
char
*
);
_Check_return_wat_
_ACRTIMP errno_t __cdecl _strlwr_s_l(
__declspec
(dllimport)
__cdecl
(
_Inout_updates_z_(_Size) char* _String,
_In_opt_ _locale_t _Locale
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(
errno_t, _strlwr_s_l,
_Prepost_z_ char, _String,
_In_opt_ _locale_t, _Locale
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
char
(&
)[
],
)
throw
() {
return
(
,
,
); } }
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX(
char*, __RETURN_POLICY_DST, _ACRTIMP, _strlwr_l, _strlwr_s_l,
_Inout_updates_z_(_Size) char,
_Inout_z_, char, _String,
_In_opt_ _locale_t, _Locale
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_strlwr_s_l"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
char
*
__cdecl
(
char
*
,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(
errno_t, strncat_s,
_Prepost_z_ char, _Destination,
_In_reads_or_z_(_Count) char const*, _Source,
_In_ size_t, _Count
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
char
(&
)[
],
char
const
*
,
)
throw
() {
return
(
,
,
,
); } }
__DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(
char*, __RETURN_POLICY_DST, _ACRTIMP, strncat, strncat_s,
_Inout_updates_z_(_Size) char,
_Inout_updates_z_(_Count), char, _Destination,
_In_reads_or_z_(_Count) char const*, _Source,
_In_ size_t, _Count
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"strncat_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
char
*
__cdecl
(
char
*
,
char
const
*
,
);
_Check_return_
_ACRTIMP int __cdecl strncmp(
__declspec
(dllimport)
int
__cdecl
(
_In_reads_or_z_(_MaxCount) char const* _Str1,
_In_reads_or_z_(_MaxCount) char const* _Str2,
);
_Check_return_
_ACRTIMP int __cdecl _strnicmp(
__declspec
(dllimport)
int
__cdecl
(
_In_reads_or_z_(_MaxCount) char const* _String1,
_In_reads_or_z_(_MaxCount) char const* _String2,
);
_Check_return_
_ACRTIMP int __cdecl _strnicmp_l(
__declspec
(dllimport)
int
__cdecl
(
_In_reads_or_z_(_MaxCount) char const* _String1,
_In_reads_or_z_(_MaxCount) char const* _String2,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP int __cdecl _strnicoll(
__declspec
(dllimport)
int
__cdecl
(
_In_reads_or_z_(_MaxCount) char const* _String1,
_In_reads_or_z_(_MaxCount) char const* _String2,
);
_Check_return_
_ACRTIMP int __cdecl _strnicoll_l(
__declspec
(dllimport)
int
__cdecl
(
_In_reads_or_z_(_MaxCount) char const* _String1,
_In_reads_or_z_(_MaxCount) char const* _String2,
_In_opt_ _locale_t _Locale
);
_Check_return_
_ACRTIMP int __cdecl _strncoll(
__declspec
(dllimport)
int
__cdecl
(
_In_reads_or_z_(_MaxCount) char const* _String1,
_In_reads_or_z_(_MaxCount) char const* _String2,
);
_Check_return_
_ACRTIMP int __cdecl _strncoll_l(
__declspec
(dllimport)
int
__cdecl
(
_In_reads_or_z_(_MaxCount) char const* _String1,
_In_reads_or_z_(_MaxCount) char const* _String2,
_In_opt_ _locale_t _Locale
);
_ACRTIMP size_t __cdecl __strncnt(
__declspec
(dllimport)
__cdecl
(
_In_reads_or_z_(_Count) char const* _String,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(
errno_t, strncpy_s,
char, _Destination,
_In_reads_or_z_(_Count) char const*, _Source,
_In_ size_t, _Count
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
char
(&
)[
],
char
const
*
,
)
throw
() {
return
(
,
,
,
); } }
__DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(
char*, __RETURN_POLICY_DST, _ACRTIMP, strncpy, strncpy_s,
_Out_writes_z_(_Size) char,
_Out_writes_(_Count) _Post_maybez_, char, _Destination,
_In_reads_or_z_(_Count) char const*, _Source,
_In_ size_t, _Count
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"strncpy_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
char
*
__cdecl
(
char
*
,
char
const
*
,
);
_Check_return_
_When_(
_MaxCount > _String_length_(_String),
_Post_satisfies_(return == _String_length_(_String))
)
_When_(
_MaxCount <= _String_length_(_String),
_Post_satisfies_(return == _MaxCount)
)
_ACRTIMP size_t __cdecl strnlen(
__declspec
(dllimport)
__cdecl
(
_In_reads_or_z_(_MaxCount) char const* _String,
);
#if __STDC_WANT_SECURE_LIB__ && !defined __midl
_Check_return_
_When_(
_MaxCount > _String_length_(_String),
_Post_satisfies_(return == _String_length_(_String))
)
_When_(
_MaxCount <= _String_length_(_String),
_Post_satisfies_(return == _MaxCount)
)
static __inline size_t __CRTDECL strnlen_s(
static
__inline
__cdecl
(
_In_reads_or_z_(_MaxCount) char const* _String,
)
{
return
==
0
?
0
:
(
,
);
}
#endif
_Check_return_wat_
_ACRTIMP errno_t __cdecl _strnset_s(
__declspec
(dllimport)
__cdecl
(
_Inout_updates_z_(_SizeInBytes) char* _String,
_In_ size_t _SizeInBytes,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_2(
errno_t, _strnset_s,
_Prepost_z_ char, _Destination,
_In_ int, _Value,
_In_ size_t, _Count
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
char
(&
)[
],
int
,
)
throw
() {
return
(
,
,
,
); } }
__DEFINE_CPP_OVERLOAD_STANDARD_NFUNC_0_2_EX(
char*, __RETURN_POLICY_DST, _ACRTIMP, _strnset, _strnset_s,
_Inout_updates_z_(_Size) char,
_Inout_updates_z_(_Count), char, _Destination,
_In_ int, _Value,
_In_ size_t, _Count
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_strnset_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
char
*
__cdecl
(
char
*
,
int
,
);
_Check_return_
_ACRTIMP char _CONST_RETURN* __cdecl strpbrk(
__declspec
(dllimport)
char
const
*
__cdecl
(
_In_z_ char const* _Control
);
_ACRTIMP char* __cdecl _strrev(
__declspec
(dllimport)
char
*
__cdecl
(
);
_Check_return_wat_
_ACRTIMP errno_t __cdecl _strset_s(
__declspec
(dllimport)
__cdecl
(
_Inout_updates_z_(_DestinationSize) char* _Destination,
_In_ size_t _DestinationSize,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(
errno_t, _strset_s,
_Prepost_z_ char, _Destination,
_In_ int, _Value
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
char
(&
)[
],
int
)
throw
() {
return
(
,
,
); } }
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1(
char*, __RETURN_POLICY_DST, __EMPTY_DECLSPEC, _strset,
_Inout_z_, char, _Destination,
_In_ int, _Value
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_strset_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
char
*
__cdecl
(
char
*
,
int
);
_Check_return_
_ACRTIMP size_t __cdecl strspn(
__declspec
(dllimport)
__cdecl
(
_In_z_ char const* _Control
);
_Check_return_ _CRT_INSECURE_DEPRECATE(strtok_s)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"strtok_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
_ACRTIMP char* __cdecl strtok(
__declspec
(dllimport)
char
*
__cdecl
(
_Inout_opt_z_ char* _String,
_In_z_ char const* _Delimiter
);
_Check_return_wat_
_ACRTIMP errno_t __cdecl _strupr_s(
__declspec
(dllimport)
__cdecl
(
_Inout_updates_z_(_Size) char* _String,
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(
errno_t, _strupr_s,
_Prepost_z_ char, _String
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
char
(&
)[
])
throw
() {
return
(
,
); } }
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(
char*, __RETURN_POLICY_DST, _ACRTIMP, _strupr,
_Inout_z_, char, _String
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_strupr_s"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
char
*
__cdecl
(
char
*
);
_Check_return_wat_
_ACRTIMP errno_t __cdecl _strupr_s_l(
__declspec
(dllimport)
__cdecl
(
_Inout_updates_z_(_Size) char* _String,
_In_opt_ _locale_t _Locale
);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(
errno_t, _strupr_s_l,
_Prepost_z_ char, _String,
_In_opt_ _locale_t, _Locale
)
extern
"C++"
{
template
<
>
inline
__cdecl
(
char
(&
)[
],
)
throw
() {
return
(
,
,
); } }
__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX(
char*, __RETURN_POLICY_DST, _ACRTIMP, _strupr_l, _strupr_s_l,
_Inout_updates_z_(_Size) char,
_Inout_z_, char, _String,
_In_opt_ _locale_t, _Locale
)
__declspec
(deprecated(
"This function or variable may be unsafe. Consider using "
"_strupr_s_l"
" instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. "
"See online help for details."
))
__declspec
(dllimport)
char
*
__cdecl
(
char
*
,
);
_Success_(return < _MaxCount)
_Check_return_opt_
_ACRTIMP size_t __cdecl strxfrm(
__declspec
(dllimport)
__cdecl
(
_Out_writes_opt_(_MaxCount) _Post_maybez_ char* _Destination,
_In_z_ char const* _Source,
_In_ _In_range_(<=,_CRT_INT_MAX) size_t _MaxCount
);
_Success_(return < _MaxCount)
_Check_return_opt_
_ACRTIMP size_t __cdecl _strxfrm_l(
__declspec
(dllimport)
__cdecl
(
_Out_writes_opt_(_MaxCount) _Post_maybez_ char* _Destination,
_In_z_ char const* _Source,
_In_ _In_range_(<=,_CRT_INT_MAX) size_t _MaxCount,
_In_opt_ _locale_t _Locale
);
#ifdef __cplusplus
extern
"C++"
{
_Check_return_
inline char* __CRTDECL strchr(_In_z_ char* const _String, _In_ int const _Ch)
inline
char
*
__cdecl
(
char
*
const
,
int
const
)
{
return
const_cast
<
char
*>(
(
static_cast
<
char
const
*>(
),
));
}
_Check_return_
inline char* __CRTDECL strpbrk(_In_z_ char* const _String, _In_z_ char const* const _Control)
inline
char
*
__cdecl
(
char
*
const
,
char
const
*
const
)
{
return
const_cast
<
char
*>(
(
static_cast
<
char
const
*>(
),
));
}
_Check_return_
inline char* __CRTDECL strrchr(_In_z_ char* const _String, _In_ int const _Ch)
inline
char
*
__cdecl
(
char
*
const
,
int
const
)
{
return
const_cast
<
char
*>(
(
static_cast
<
char
const
*>(
),
));
}
_Check_return_ _Ret_maybenull_
inline char* __CRTDECL strstr(_In_z_ char* const _String, _In_z_ char const* const _SubString)
inline
char
*
__cdecl
(
char
*
const
,
char
const
*
const
)
{
return
const_cast
<
char
*>(
(
static_cast
<
char
const
*>(
),
));
}
}
#endif // __cplusplus
#if _CRT_INTERNAL_NONSTDC_NAMES
#pragma push_macro("strdup")
#undef strdup
_Check_return_ _CRT_NONSTDC_DEPRECATE(_strdup)
__declspec
(deprecated(
"The POSIX name for this item is deprecated. Instead, use the ISO C "
"and C++ conformant name: "
"_strdup"
". See online help for details."
))
_ACRTIMP char* __cdecl strdup(
__declspec
(dllimport)
char
*
__cdecl
(
_In_opt_z_ char const* _String
);
#pragma pop_macro("strdup")
_Check_return_ _CRT_NONSTDC_DEPRECATE(_strcmpi)
__declspec
(deprecated(
"The POSIX name for this item is deprecated. Instead, use the ISO C "
"and C++ conformant name: "
"_strcmpi"
". See online help for details."
))
_ACRTIMP int __cdecl strcmpi(
__declspec
(dllimport)
int
__cdecl
(
_In_z_ char const* _String1,
_In_z_ char const* _String2
);
_Check_return_ _CRT_NONSTDC_DEPRECATE(_stricmp)
__declspec
(deprecated(
"The POSIX name for this item is deprecated. Instead, use the ISO C "
"and C++ conformant name: "
"_stricmp"
". See online help for details."
))
_ACRTIMP int __cdecl stricmp(
__declspec
(dllimport)
int
__cdecl
(
_In_z_ char const* _String1,
_In_z_ char const* _String2
);
_CRT_NONSTDC_DEPRECATE(_strlwr)
__declspec
(deprecated(
"The POSIX name for this item is deprecated. Instead, use the ISO C "
"and C++ conformant name: "
"_strlwr"
". See online help for details."
))
_ACRTIMP char* __cdecl strlwr(
__declspec
(dllimport)
char
*
__cdecl
(
);
_Check_return_ _CRT_NONSTDC_DEPRECATE(_strnicmp)
__declspec
(deprecated(
"The POSIX name for this item is deprecated. Instead, use the ISO C "
"and C++ conformant name: "
"_strnicmp"
". See online help for details."
))
_ACRTIMP int __cdecl strnicmp(
__declspec
(dllimport)
int
__cdecl
(
_In_reads_or_z_(_MaxCount) char const* _String1,
_In_reads_or_z_(_MaxCount) char const* _String2,
);
_CRT_NONSTDC_DEPRECATE(_strnset)
__declspec
(deprecated(
"The POSIX name for this item is deprecated. Instead, use the ISO C "
"and C++ conformant name: "
"_strnset"
". See online help for details."
))
_ACRTIMP char* __cdecl strnset(
__declspec
(dllimport)
char
*
__cdecl
(
_Inout_updates_z_(_MaxCount) char* _String,
);
_CRT_NONSTDC_DEPRECATE(_strrev)
__declspec
(deprecated(
"The POSIX name for this item is deprecated. Instead, use the ISO C "
"and C++ conformant name: "
"_strrev"
". See online help for details."
))
_ACRTIMP char* __cdecl strrev(
__declspec
(dllimport)
char
*
__cdecl
(
);
_CRT_NONSTDC_DEPRECATE(_strset)
__declspec
(deprecated(
"The POSIX name for this item is deprecated. Instead, use the ISO C "
"and C++ conformant name: "
"_strset"
". See online help for details."
))
char
*
__cdecl
(
_CRT_NONSTDC_DEPRECATE(_strupr)
__declspec
(deprecated(
"The POSIX name for this item is deprecated. Instead, use the ISO C "
"and C++ conformant name: "
"_strupr"
". See online help for details."
))
_ACRTIMP char* __cdecl strupr(
__declspec
(dllimport)
char
*
__cdecl
(
);
#endif // _CRT_INTERNAL_NONSTDC_NAMES
#endif // !__midl
#endif // _INC_STRING