12 métodos de string C ++ que você deve dominar hoje

C ++ é uma das linguagens de programação mais poderosas com a ajuda de seus métodos integrados para realizar operações como classificação, pesquisa e reversão. Esses métodos cobrem as desvantagens de facilidade de uso do C ++ quando comparado a outras linguagens de programação de alto nível, como Java e Python.

Neste artigo, você aprenderá 12 métodos de string C ++ que o ajudam a realizar operações em strings em uma fração do código que você está usando.

O que são métodos de string em C ++?

Os métodos de string são as funções predefinidas armazenadas no arquivo de cabeçalho de string . Você pode usá-los importando o arquivo de cabeçalho da string :

 #include <string>

Considere um exemplo de variável de string str com o valor “Welcome To MUO” para implementar esses métodos.

 string str = “Welcome To MUO”;

Relacionado: Métodos de string de JavaScript que você deve dominar hoje

1. começar ()

O método begin () em C ++ retorna um iterador para o início da string. Crie um iterador usando a palavra chave auto e armazene a referência inicial da variável string usando str.begin (). O código abaixo mostra a implementação:

 auto i = str.begin();
cout<<"The first character in the string str is: "<<*i<<endl;

Produto :

 The first character in the string str is: W

2. fim ()

O método de string end () retorna o iterador ao final da string. Este código imprime o último caractere da variável da string:

 auto i = s.end()-1;
cout<<"The last character in the string s is: "<<*i<<endl;

Produto :

 The first character in the string s is: O

Você também pode percorrer a string e imprimir caracteres individuais usando os métodos begin () e end () . Veja como:

 for(auto i = str.begin(); i!= str.end(); i++){
cout<<*i;
}

3. push_back ()

O método push_back () insere um caractere no final da string. Ao realizar esta operação, o tamanho da string aumenta em 1.

 str.push_back('!');
cout<<str;

A saída do código acima terá um ponto de exclamação (!) Junto com a string original:

 Welcome To MUO!

Você também pode anexar um conjunto de caracteres ou outra string fazendo um loop e anexando-o caractere por caractere. Considere uma variável de string str2 , com o valor de “Hi there”. Para anexar essa variável à string original usando o método push_back () :

 string str2 = " Hi there";
for(auto i = str2.begin(); i!=str2.end() ;i++){
str.push_back(*i);
}
cout<<str<<endl;

Produto :

 Welcome To MUO! Hi there

4. pop_back ()

O método pop_back () remove o último caractere de uma string. Veja como você pode tentar esse método na string str :

 str.pop_back();
cout<<str<<endl;

Produto :

 Welcome To MU

5. tamanho ()

O método size () ajuda a calcular o comprimento da string.

 cout<<"The size of the string str is "<<str.size()<<endl;

6. copiar ()

O método copy () copia uma string ou substring completa. Ele aceita três argumentos: matriz de caracteres, comprimento da substring e a posição de onde a string deve começar a copiar.

 char str2[50];
str.copy(str2, 6,2);
cout<<"The value in str2: "<<str2<<endl;

Produto :

 The value in str2: lcome

7. swap ()

O método swap () ajuda a trocar duas strings uma com a outra. A sintaxe para este método é:

 string1.swap(string2)

Este método aceita uma variável de string como argumento. Você pode executar este método na string que deseja trocar e imprimir para verificar os resultados.

 string str = “Welcome To MUO”;
string str2 = "Hi There";
str.swap(str2);
cout<<"String 1 str: "<<str<<endl;
cout<<"String 2 str2: "<<str2<<endl;

Produto :

 String 1 str: Hi There
String 2 str2: Welcome To MUO

Relacionado: Como trocar duas variáveis ​​em C ++, Python e JavaScript

8. getline ()

O método getline () armazena um fluxo de caracteres aceitos durante a entrada. Este método aceita dois argumentos: cin e a variável string.

 string s;
cout<<"Enter a string"<<endl;
getline(cin,s);
cout<<s<<endl;

Produto :

 Enter a string
Welcome to MUO

9. redimensionar ()

O método resize () altera o comprimento da string aumentando ou diminuindo-a dinamicamente. Ele aceita um argumento: o comprimento para o qual você deseja redimensionar sua string.

 str.resize(10);
cout<<"The value of str after resizing it: "<<str<<endl;

Produto :

 The value of str after resizing it: Welcome To

10. capacidade ()

O método capacity () em C ++ retorna a capacidade alocada para a string. Pode ser igual ao comprimento da corda ou maior que ele.

 cout<<"The capacity of the string is "<<str.capacity()<<endl;

11. stoi ()

O método stoi () ajuda a converter um número na forma de uma string em seu valor numérico. Ele aceita um parâmetro: a variável string. Se sua variável de string tiver outros caracteres além de números, ela os filtrará. Mas para que esse método funcione, os caracteres da string não numéricos devem seguir os números. Se os caracteres aparecerem antes dos números, ele retornará um erro.

Antes de prosseguir com a operação acima, certifique-se de armazená-la em uma variável inteira antes de imprimi-la. Aqui está um exemplo:

 string s1 = "123";
int v1 = stoi(s1);
cout<<"Stoi() for s1: "<<v1<<endl;
string s2 = "123 pass";
int v2 = stoi(s2);
cout<<"Stoi() for s2: "<<v2;

Produto :

 Stoi() for s1: 123
Stoi() for s2: 123

12. rbegin () e rend ()

O método rbegin () retorna a referência do iterador reverso para a string no final. Da mesma forma, o método rend () retorna a referência do iterador inicial para a string no início.

 auto beg = str.rbegin();
auto end = str.rend()-1;
cout<<"The last character is: "<<*beg<<endl;
cout<<"The first character is: "<<*end<<endl;

Você também pode imprimir o reverso da string usando os métodos rbegin () e rend () . Para fazer isso, você pode fazer um loop pela string e imprimi-la caractere por caractere.

 for(auto i=str.rbegin(); i!=str.rend(); i++){
cout<<*i;
}

Produto :

 The last character is: O
The first character is: W
OUM oT emocleW

Dê um passo à frente no aprendizado de C ++

Agora que você aprendeu a implementar vários métodos de string do cabeçalho de string , pode se sentir confiante explorando mais métodos pré-construídos nos arquivos de cabeçalho C ++. De sort () e reverse () a binary_search () , há poucas coisas que o C ++ STL não pode realizar no mundo da codificação.

Dedicar algum tempo para aprender sobre a Biblioteca de Modelos Padrão é um excelente investimento para programadores C ++ de todos os níveis. A Biblioteca de modelos padrão fornece funções integradas, estruturas de dados comuns e algoritmos úteis para tornar a programação fácil e eficiente.