• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyszukiwanie słowa w tekście

Object Storage Arubacloud
0 głosów
432 wizyt
pytanie zadane 1 maja 2019 w C i C++ przez Huberti Gaduła (4,500 p.)
edycja 1 maja 2019 przez Huberti

Witam, mam taki kod:

std::string fileContent;
// ... here is loading file to fileContent ...
std::size_t begin = fileContent.find("<tileset"); 
assert(begin != std::string::npos);
begin += std::strlen("<tileset");

Pytanie: Czy jest możliwość, aby find zamiast zwracać index pierwszego wystąpienia szukanego słowa, zwracał o jeden większy od końca szukanego słowa (tak, aby zlikwidować linijkę: begin += std::strlen("<tileset");).

Czyli w takim przypadku:

std::string fileContent = "<tilesetA";
std::size_t begin = fileContent.find("<tileset"); 
assert(begin != std::string::npos);

Zamiast zwracać index litery '<', zwróciłby index litery 'A'?

PS Albo przynajmniej index litery 't' (czyli ostatniej z poszukiwanego słowa).

komentarz 1 maja 2019 przez Patrycjerz Mędrzec (192,320 p.)
Ale dlaczego sposób ze zwiększaniem indeksu jest wg ciebie zły? Możesz zawsze obudować to w jakąś funkcję pomocniczą, którą będziesz dołączać do kodu w miarę potrzeby.
1
komentarz 1 maja 2019 przez j23 Mędrzec (194,920 p.)

@Huberti,  ten assert w tym kontekście to nie jest dobry pomysł.

komentarz 1 maja 2019 przez Patrycjerz Mędrzec (192,320 p.)
Racja, do błędów wykonania powinny być używane wyjątki. Asercje służą bardziej do sprawdzania pewników w etapie dewelopingu.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 210 wizyt
pytanie zadane 14 września 2022 w C i C++ przez RockySniper Nowicjusz (140 p.)
0 głosów
3 odpowiedzi 270 wizyt
pytanie zadane 19 marca 2016 w C i C++ przez gryzon Początkujący (480 p.)
+1 głos
2 odpowiedzi 342 wizyt
pytanie zadane 30 kwietnia 2021 w C# przez mateusz45 Gaduła (3,240 p.)

92,572 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...