char* t
文字列のベクトルで見つけたいという、があります。たとえば、をchar *t
指すと"abc"
、私のベクトルは。と同じ"abc"
ですstring
。
6194 次
2 に答える
3
使用std::find
- を暗黙的に に変換しchar*
ますstd::string
。
auto foundIterator = std::find(vec.begin(), vec.end(), t);
要素がベクトル内にない場合、 はfoundIterator
と等しくなりvec.end()
ます。
于 2012-12-19T07:27:40.697 に答える
1
これは実際には新しい回答ではなく、@Luchian が投稿したデモ コードです。
#include <string>
#include <algorithm>
#include <sstream>
#include <iostream>
int main() {
std::vector<std::string> data;
for (int i=0; i<10; i++) {
std::ostringstream b;
b << "String " << i;
data.push_back(b.str());
}
auto pos = std::find(data.begin(), data.end(), "String 3");
std::cout << pos-data.begin();
return 0;
}
少なくともこれを実行すると、文字列が見つかったように見えます (出力されます3
)。
于 2012-12-19T07:39:01.753 に答える