私は_bstr_t
'sに不慣れで、まだコツをつかもうとしています。特定の文字列x
がbstring内のどこかに含まれているかどうかを確認しようとしていました。私が普段やりたいこと。
String x = "hello";
String example = "You! hello there";
...
if (example.find(x) != string::npos) {
...
念のため、対象となるプラットフォームはWindowsです。
私は_bstr_t
'sに不慣れで、まだコツをつかもうとしています。特定の文字列x
がbstring内のどこかに含まれているかどうかを確認しようとしていました。私が普段やりたいこと。
String x = "hello";
String example = "You! hello there";
...
if (example.find(x) != string::npos) {
...
念のため、対象となるプラットフォームはWindowsです。
を使用する必要はありません_bstr_t
。タイプを使用しBSTR
ます。
次に、EricのBSTRセマンティクスの完全ガイドをお読みください。
最後に、ほとんどの場合、通常の文字配列と同じように、ネイティブコードでBSTRを使用できます。
BSTR bstr = SysAllocString(L"FooBarBazQux");
if (wcsstr(bstr, L"Bar") != NULL) {
// Found it! Do something.
} else {
// Not there.
}
SysFreeString(bstr);
あなたの例は、STLからstring::findを使用しようとしているようです。ただし、タイプ「文字列」(大文字)の変数を指定します。代わりに行った場合:
using namespace std;
string x = "hello";
string example = "You! hello there";
...
あなたの例はコンパイルされます。表示していないBSTRまたは_bstr_tを実際に使用する必要がありますか?そうだとしても、_bstr_tからstd :: stringを作成するのは非常に簡単で、その後は通常どおりにSTLを使用できます。