1

私は C++ 開発者ではなく、一部のコードを vb.net に変換する必要があります

私はこれを見つけました

_tcslwr_s

それが型なのか関数(メソッド)なのかさえわかりません。

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

VSフレームワークシステムファイルの_tcslwr_sからのもの#defineであることは知っています。tchar.h

とは何か#define、この場合は、_tcslwr_s

よろしくお願いします!


編集

コメントの助けを借りて、何が定義されているかがわかりました。_tcslwr_sdefineを見つけたコードを検索します_wcslwr_s。これが含まれているのは、instring.hと areの 2 行のみです。

_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)

この時点で、私は何も読むことができません..最初から2つの文字列で何が起こっているのかを知るために何をすればよいの_rbstProcessNameでしょptcProcessNameうか?

繰り返しますが、助けてくれてありがとう!

4

2 に答える 2

1

この MSDN http://msdn.microsoft.com/en-us/library/y889wzfw%28v=vs.100%29.aspx _tcslwr_sによると、の定義に応じて文字列を小文字に変換するためのさまざまな関数にマップされるマクロです。_UNICODE(標準関数の Unicode サポート) および_MBCS(標準関数のマルチバイト文字サポート) マクロ。VB.Net に相当するのは.ToLower()文字列メソッドです。

于 2013-03-12T19:42:44.340 に答える
1

_Check_return_wat_ _CRTIMP errno_t __cdecl _wcslwr_s(_Inout_z_cap_(_SizeInWords) wchar_t * _Str, _In_ size_t _SizeInWords);and_wcslwr_sを受け取り、を返す関数を宣言しています。アンダースコアで始まるすべて (およびを除く) は、関数の属性です。たとえば、C 呼び出し規約を使用する必要があることを示し ( http://msdn.microsoft.com/en-us/library/zkwh89ks(v=vs.80).aspxを参照)、パラメーターがに渡されることを示します。関数。wchar_t *size_terrno_t_Str_SizeInWords__cdecl_In_

簡単に言えば、この関数は文字列と文字列のサイズを受け取り、エラー コードを返します。http://msdn.microsoft.com/en-us/library/y889wzfw(v=vs.80).aspxに基づくと、この関数は提供された文字列 ( _Str) を小文字に変換するように見えます。

于 2013-03-12T19:43:46.320 に答える