Como usar find_first_of função em c ++

Como usar find_first_of função em c ++
Existem diferentes funções internas no C ++ para trabalhar com os dados da string. O find_first_of () A função é usada para encontrar a localização da primeira ocorrência do caractere especificado. Esta função retorna a posição da primeira ocorrência da string que será dada como o valor do argumento desta função. Diferentes usos dessa função para pesquisar a string em C ++ foram explicados neste tutorial.

Pré-requisito

Antes de verificar os exemplos deste tutorial, você deve verificar se o compilador G ++ está instalado ou não no sistema. Se você estiver usando o código do Visual Studio, instale as extensões necessárias para compilar o código -fonte C ++ para criar o código executável. Aqui, o aplicativo de código do Visual Studio foi usado para compilar e executar o código C ++.

Recursos da função find_first_of ()

O find_first_of () A função pode retornar diferentes tipos de variáveis ​​com base no valor do primeiro argumento. Ele retornará a posição de pesquisa da string se o primeiro valor de argumento for uma string. Ele retornará a posição de pesquisa da sequência de personagens se o ponteiro para uma variedade de caracteres for dado no primeiro argumento. Ele retornará a posição do buffer se o valor do terceiro argumento for dado. Ele retornará a posição do personagem se um personagem for dado no primeiro argumento e existir na sequência principal. A posição inicial da pesquisa está definida no segundo argumento desta função. A sintaxe diferente desta função é dada abaixo.

Sintaxe

string size_t find_first_of (const string & str, size_t pos = 0) const;
size c string_t find_first_of (const char* s, size_t pos = 0) const;
buffer size_t find_first_of (const char* s, size_t pos, size_t n) const;
caractere size_t find_first_of (char c, size_t pos = 0) const;

Exemplo 1: Pesquise e substitua o personagem específico de uma string

O exemplo a seguir mostra a maneira de pesquisar a posição de um personagem em particular em uma string. Crie um arquivo C ++ com o seguinte código para substituir o personagem em particular por outro personagem. No código, o find_first_of () A função foi usada para pesquisar todas as posições de um personagem específico em uma string e substituir os caracteres por outro personagem usando o loop. A string original e a string substituída serão impressas após a execução do código.

// inclua para imprimir a saída
#incluir
// inclua para usar size_t
#incluir
int main ()

// Inicialize uma variável de string
std :: string strdata ("Welcome to linuxhint");
// Imprima a sequência original
std :: cout << "The original string is: " + strData << '\n';
// Descubra toda a posição do personagem 'eu'
std :: size_t searchlist = strdata.find_first_of ("i");
// iterar o loop para substituir todos 'i' por '@'
while (Lista de pesquisa!= std :: string :: npos)

strdata [SearchList] = '@';
SearchList = strdata.find_first_of ("i", pesquisa de pesquisa+1);

// Imprima a sequência modificada
std :: cout << "The modified string is: " + strData << '\n';
retornar 0;

Saída:

A saída a seguir aparecerá após a execução do código acima.

Exemplo 2: Pesquise a primeira posição dos personagens de pesquisa

Crie um arquivo C ++ com o código a seguir para pesquisar a posição de uma sequência de vários caracteres e retornar a primeira posição do personagem que corresponde à string principal. Um dados de string foi atribuído em uma variável de string e a primeira posição é armazenada em uma variável inteira. O valor da posição será impresso após a execução do código.

// inclua para imprimir a saída
#incluir
int main ()

// inicialize a variável da string
std :: string strdata ("programação básica de c ++");
// Declare a variável interger para armazenar a posição
int position;
// Pesquise o personagem 'C ++'
posição = strdata.find_first_of ("k ++");
// Verifique o valor da posição
se (posição> = 0)

// imprima a posição se o personagem encontrado
std :: cout << "The character '" << strData[position]
<< "' has found" << " at the position " << position << '\n';

retornar 0;

Saída:

A saída a seguir aparecerá após a execução do código acima. Aqui, o personagem, '+'da string'K++'encontrou na posição, 7 da sequência principal, 'Programação básica de C ++'.

Exemplo 3: Pesquise um personagem específico após a posição específica

Crie um arquivo C ++ com o seguinte código para pesquisar um personagem específico após a posição específica. Uma string dados é armazenada na variável da string e uma string específica é pesquisada após a posição, 13. Se algum caractere da sequência de busca foi encontrado na sequência principal, um valor de posição será retornado.

// inclua para imprimir a saída
#incluir
int main ()

// Inicialize uma variável de string
std :: string strdata = "Coma para viver, não viver para comer";
// Imprima a sequência original
std :: cout << "The original string is: " + strData << '\n';
// imprima a posição onde o último personagem encontrou
std :: cout<<"The last matching character found at the position :"
<< strData.find_first_of("at",13) << '\n';
retornar 0;

Saída:

A saída a seguir aparecerá após a execução do código acima. Aqui, o personagem, 'a'da string'no'encontrou na posição, 15 da sequência principal, 'comer para viver, não viver para comer'.

Exemplo 4: Pesquise a posição do primeiro número correspondente

Crie um arquivo C ++ com o código a seguir para pesquisar cada número da primeira lista de vetores na Segunda Lista de Vectoras e retornar a posição do número correspondente da primeira lista de vetores. Se um argumento correspondente for encontrado, o valor da posição será retornado; Caso contrário, uma mensagem será impressa.

// inclua para imprimir a saída
#incluir
// inclui para pesquisar dados no vetor
#incluir
// Inclua para usar dados vetoriais
#incluir
int main ()

// Declare duas listas de vetores
std :: vetor List1 10, 5, 65, 31, 7;
std :: vetor LIST2 2, 77, 5, 38, 32, 55;
// Pesquise os dados da lista1 na lista2
saída automática = std :: find_first_of (list1.começar(),
Lista1.end (), list2.BEGIN (), LIST2.fim());
// Leia a posição do número correspondente
int position = std :: distance (list1.begin (), saída);
// Verifique qualquer número de List1 corresponde com qualquer número de LIST2
if (saída < list1.end())
std :: cout << "The first matching number " <<
Lista1 [Posição] << " found at position " <<
posição << "\n";

outro
std :: cout << "No matching number found.\n";

Saída:

A saída a seguir aparecerá após a execução do código acima. O valor do número, 5 da primeira matriz, existe na segunda matriz e a posição desse número é 1.

Conclusão

A função find_first_of () pode ser usada para pesquisar um personagem ou número para vários fins de programação. Esta função pode ser usada para resolver os vários problemas de pesquisa. Espero que o programador C ++ possa usar esta função corretamente depois de ler este tutorial.