find ("sou o", 7); cout retornar 0; } A partir do código, vemos que o sub-string começa a partir índice 6, mas o segundo argumento é 7. Find de Inverter direção Você pode encontrar a posição de uma seqüência de sub partir da extremidade de uma corda principal. Você usa o método rfind cuja sintaxe é semelhante ao do método find. O código a seguir ilustra isso: #include #include using namespace std; int main () {string Str0 = "Sim, eu sou o único Sim, eu fiz isso.".; int pos = str0.rfind ("Sim"); cout retornar 0; } Neste código, há dois "Sim" na cadeia principal.
Ele é a última que é encontrado, que começa a partir de índice 18 (a contar da esquerda). O segundo argumento pode ser usado como ilustrado no seguinte código: #include #include using namespace std; int main () {string Str0 = "Sim, eu sou o único Sim, eu fiz isso.".; int pos = str0.rfind ("Sim", 15); cout retornar 0; } Você pode se surpreender ao descobrir que nesse código é o primeiro Sim que se encontra. A função rfind pesquisa o sub-string de final da cadeia principal. O segundo argumento é medida a partir do início (à esquerda) da seqüência principal.
O segundo argumento diz ao objeto string para iniciar a busca para além do seu índice. No entanto, com a função rfind, significa além em frente (à esquerda) do índice (15). Índice dentro Sub String para ser encontrado Considere o seguinte código: #include #include using namespace std; int main () {string Str0 = "Sim, eu sou o único Sim, eu fiz isso.".; int pos = str0.find ("Sim", 15); cout retornar 0; } O valor do índice retornado é 18. O segundo argumento no método find é de 15, assim que a pesquisa começou na 15ª posição com zero de contagem baseada na seqüência principal.
Assim, a segunda "Sim" foi correspondido. O segundo "Sim" na cadeia principal ocupa os índices, 18, 19 e 20. E se o segundo argumento do método find era qualquer um desses números: 18, 19 ou 20? Nesta situação, o sub-string seria encontrado apenas no caso