gpt4 book ai didi

c++ 字符串操作说明

转载 作者:行者123 更新时间:2023-11-30 04:20:17 30 4
gpt4 key购买 nike

我不是 c++ 开发人员,我需要将一些代码转换为 vb.net

我找到了这个

_tcslwr_s

我什至不知道它是类型还是函数(方法)。它用于:

    _bstr_t _rbstProcessName
TCHAR* ptcProcessName = static_cast<TCHAR*>(_rbstProcessName);
_tcslwr_s(ptcProcessName, _rbstProcessName.length() + 1);

我知道 _tcslwr_s 来自 tchar.h 中的 #define,一个 VS frameWork 系统文件。

我希望能简短地解释一下什么是 #define,在这种情况下,什么是 _tcslwr_s

提前致谢!


编辑

在评论的帮助下,我现在知道什么是定义了。搜索代码我发现 _tcslwr_s 定义了 _wcslwr_s。仅有的两行代码在 string.h 中,它们是:

_Check_return_wat_ _CRTIMP errno_t __cdecl _wcslwr_s(_Inout_z_cap_(_SizeInWords) wchar_t * _Str, _In_ size_t _SizeInWords);
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(errno_t, _wcslwr_s, _Deref_prepost_z_ wchar_t, _String)

在这一点上我什么都看不到。我应该做些什么来从一开始就知道我的两个字符串发生了什么(_rbstProcessNameptcProcessName) ?

再次感谢您的帮助!

最佳答案

_Check_return_wat_ _CRTIMP errno_t __cdecl _wcslwr_s(_Inout_z_cap_(_SizeInWords) wchar_t * _Str, _In_ size_t _SizeInWords); 正在声明一个名为 _wcslwr_s 的函数,它接受一个 wchar_t * size_t 并返回一个 errno_t。以下划线开头的所有内容(_Str_SizeInWords 除外)都是函数的属性。例如,__cdecl 表示应使用 C 调用约定(参见 http://msdn.microsoft.com/en-us/library/zkwh89ks(v=vs.80).aspx),_In_ 表示应使用参数传递给函数。

用简单的英语来说,这个函数接受一个字符串和字符串的大小,并返回一个错误代码。基于http://msdn.microsoft.com/en-us/library/y889wzfw(v=vs.80).aspx ,此函数似乎将提供的字符串 (_Str) 转换为小写。

关于c++ 字符串操作说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15369879/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com