Como usar a função find_first_of () em C ++

How Use Find_first_of Function C



Existem diferentes funções integradas em C ++ para trabalhar com os dados da string. o find_first_of () 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á fornecida como o valor do argumento desta função. Diferentes usos desta função para pesquisar a string em C ++ foram explicados neste tutorial.

Pré-requisito

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







Recursos da função find_first_of ()

o find_first_of () 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 do argumento for uma string. Ele retornará a posição de pesquisa da cadeia de caracteres se o ponteiro para um array de caracteres for fornecido no primeiro argumento. Ele retornará a posição do buffer se o valor do terceiro argumento for fornecido. Ele retornará a posição do caractere se um caractere for fornecido no primeiro argumento e existir na string principal. A posição inicial da pesquisa é definida no segundo argumento desta função. A sintaxe diferente desta função é fornecida abaixo.



Sintaxe

string size_t find_first_of (const string & str, size_t pos = 0) const;
string c size_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 caractere específico de uma string

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





// Incluir para imprimir a saída
#incluir
// Incluir para usar size_t
#incluir

inta Principal()
{
// Inicializa uma variável de string
horas::fragmentostrData('Bem-vindo ao LinuxHint');
// Imprime a string original
horas::custo << 'A string original é:' +strData<< ' n';
// Descubra todas as posições do caractere 'i'
horas::size_tsearchList=strData.find_first_of('eu');
// Itera o loop para substituir todo o 'i' por '@'
enquanto (searchList!=horas::fragmento::npos)
{
strData[searchList] = '@';
searchList=strData.find_first_of('eu', searchList+1);
}
// Imprime a string modificada
horas::custo << 'A string modificada é:' +strData<< ' n';

Retorna 0;
}

Saída:

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



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

Crie um arquivo C ++ com o código a seguir para pesquisar a posição de uma string de vários caracteres e retornar a primeira posição do caractere que corresponde à string principal. Um dado string foi atribuído a uma variável 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.

// Incluir para imprimir a saída
#incluir

inta Principal()
{
// Inicializa a variável de string
horas::fragmentostrData( 'Programação C ++ Básica');
// Declara a variável interna para armazenar a posição
intposição;
// Pesquise o caractere 'C ++'
posição=strData.find_first_of( 'K ++' );
// Verifique o valor da posição
E se (posição> = 0)
{
// Imprime a posição se qualquer caractere encontrado
horas::custo << 'O personagem '' <<strData[posição]
<< '' encontrou' << 'na posição' <<posição<< ' n';
}

Retorna 0;
}

Saída:

A seguinte saída aparecerá após a execução do código acima. Aqui, o personagem, ‘ + 'Da corda,' K ++ 'Encontrou na posição, 7 da corda principal, ‘ Programação C ++ Básica '.

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

Crie um arquivo C ++ com o código a seguir para pesquisar um caractere específico após a posição específica. Os dados da string são armazenados na variável da string e uma string específica é pesquisada após a posição 13. Se qualquer caractere da string pesquisada for encontrado na string principal, um valor de posição será retornado.

// Incluir para imprimir a saída
#incluir

inta Principal()
{
// Inicializa uma variável de string
horas::fragmentostrData= 'comer para viver, não viver para comer';
// Imprime a string original
horas::custo << 'A string original é:' +strData<< ' n';
// Imprime a posição onde o último caractere encontrado
horas::custo<<'O último caractere correspondente encontrado na posição:'
<<strData.find_first_of('no',13) << ' n';
Retorna 0;
}

Saída:

A seguinte saída aparecerá após a execução do código acima. Aqui, o personagem, ‘ para 'Da corda,' no 'Encontrou na posição, quinze da corda 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 vetores 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.

// Incluir para imprimir a saída
#incluir
// Incluir para pesquisa de dados no vetor
#incluir
// Incluir para usar dados vetoriais
#incluir

inta Principal()
{
// Declara duas listas de vetores
horas::vetorlista1{10,5,65,31,7};
horas::vetorlista2{2,77,5,38,32,55};
// Pesquise os dados da lista1 na lista2
autosaída=horas::find_first_of(lista1.começar(), lista1.fim(), lista2.começar(), lista2.fim());
// Leia a posição do número correspondente
intposição=horas::distância(lista1.começar(), saída);

// Verifique se qualquer número de lista1 corresponde a qualquer número de lista2
E se (saída<lista1.fim()) {
horas::custo << 'O primeiro número correspondente' <<lista1[posição] << 'encontrado na posição' <<posição<< ' n';
}
outro {
horas::custo << 'Nenhum número correspondente encontrado. n';
}
}

Saída:

A seguinte saída aparecerá após a execução do código acima. O valor numérico, 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 caractere 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 ++ consiga usar essa função corretamente depois de ler este tutorial.