Kdy? STL funkce find() nenalezne v ?et?zci po?adovanou hodnotu, vr?t? 4294967295ul. Zaj?malo by m? co to ??slo znamen? a jestli n?hodou nem? n?jak? identifik?tor.
Fórum › C / C++
STL funkce find();
d1ce napsal:
Kdy? STL funkce find() nenalezne v ?et?zci po?adovanou hodnotu, vr?t? 4294967295ul. Zaj?malo by m? co to ??slo znamen? a jestli n?hodou nem? n?jak? identifik?tor.
Tak podle popisu std::find vraci iterator, cili patrne myslite metodu find ze tridy std::string. Ta vraci size_type, coz je obycejny typedef na unsigned int. Mno, a ta carovna konstanta je maximalni hodnota, ktera se do size_type(-1) vejde. Samozrejme na to tvurci STL nezapomneli a abychom nemuseli porad psat onu magickou konstatu, tak vymysleli promennou npos, ktera prave uchovava nase magicke cislo.
Takze az budes priste testovat, jestli je tam ten podretezec nebo ne, tak to muzes udelat takhle:
std::string str("Hi, d1ce");
size_t pos = str.find("A");
if(pos == std::string::npos)
std::cerr << "Sorry" << std::endl;
else
std::cout << "Start at " << pos <<"character"<<std::endl;
Díky za radu.
Ano, měl jsem na mysli metodu. Jenom mě štve, že jsem to nedokázal vydedukovat z dokumentace STL.
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 68 hostů
Podobná vlákna
Funkce Find — založil Marten
Couldn't find JDK... — založil Tigr94
Cannot find symbol Boolean — založil Flowy
Could not find or load main class — založil mk102
Find - soubory NEvlastnene uzivatelem — založil geralt
Moderátoři diskuze