HomeSharpStack
cpp5 min

Manipulação e Operações com Strings em C++

Manipulação e Operações com Strings em C++

Strings são sequências de caracteres que usamos para armazenar texto. Em C++, trabalhar com strings é fundamental para criar programas que interagem com usuários e processam dados textuais. Vamos aprender as operações mais importantes de forma simples e prática.

O que é uma String?

Uma string é um tipo de dado que armazena uma sequência de letras, números e símbolos. Em C++, usamos a classe string da biblioteca padrão para trabalhar com strings de forma fácil.

#include <iostream>
#include <string>
using namespace std;

int main() {
    string nome = "João";
    string mensagem = "Olá, mundo!";
    
    cout << nome << endl;
    cout << mensagem << endl;
    
    return 0;
}

Concatenação de Strings

Concatenação significa juntar duas ou mais strings em uma única string. Em C++, usamos o operador + para isso.

#include <iostream>
#include <string>
using namespace std;

int main() {
    string primeiro = "Olá";
    string segundo = "mundo";
    string resultado = primeiro + ", " + segundo + "!";
    
    cout << resultado << endl;  // Saída: Olá, mundo!
    
    return 0;
}

Também podemos usar o operador += para adicionar texto a uma string existente:

string texto = "Eu gosto";
texto += " de programação";
cout << texto << endl;  // Saída: Eu gosto de programação

Comparação de Strings

Frequentemente precisamos comparar strings para verificar se são iguais ou diferentes. Usamos o operador == para igualdade e != para desigualdade.

#include <iostream>
#include <string>
using namespace std;

int main() {
    string senha = "abc123";
    string entrada = "abc123";
    
    if (entrada == senha) {
        cout << "Senha correta!" << endl;
    } else {
        cout << "Senha incorreta!" << endl;
    }
    
    return 0;
}

Funções Úteis para Strings

Comprimento da string: Use length() ou size() para descobrir quantos caracteres uma string tem.

string texto = "C++";
cout << texto.length() << endl;  // Saída: 3

Acessar caracteres individuais: Use colchetes [] para acessar um caractere específico. Lembre-se que a contagem começa do 0.

string palavra = "gato";
cout << palavra[0] << endl;  // Saída: g
cout << palavra[2] << endl;  // Saída: t

Extrair parte de uma string: Use substr() para pegar uma porção da string. O primeiro número é a posição inicial, o segundo é quantos caracteres pegar.

string frase = "Programação em C++";
string parte = frase.substr(0, 11);  // Pega 11 caracteres começando do 0
cout << parte << endl;  // Saída: Programação

Encontrar texto dentro de uma string: Use find() para procurar uma substring. Retorna a posição onde foi encontrada, ou string::npos se não encontrar.

string texto = "Eu amo C++";
int posicao = texto.find("amo");

if (posicao != string::npos) {
    cout << "Encontrado na posição: " << posicao << endl;
} else {
    cout << "Não encontrado" << endl;
}

Exemplo Prático Completo

Vamos criar um programa que demonstra várias operações com strings:

#include <iostream>
#include <string>
using namespace std;

int main() {
    string nome, sobrenome;
    
    cout << "Digite seu nome: ";
    cin >> nome;
    cout << "Digite seu sobrenome: ";
    cin >> sobrenome;
    
    string nomeCompleto = nome + " " + sobrenome;
    cout << "Nome completo: " << nomeCompleto << endl;
    cout << "Total de caracteres: " << nomeCompleto.length() << endl;
    cout << "Primeira letra: " << nomeCompleto[0] << endl;
    
    return 0;
}

Dominar essas operações básicas com strings é essencial para criar programas que trabalham com texto. Com prática, você usará essas funções naturalmente em seus projetos!

Key Takeaways

  • Strings são sequências de caracteres; use a classe string do C++ para trabalhar com elas facilmente
  • Concatenação (juntar strings) é feita com o operador + ou +=, e comparação usa == e !=
  • Funções importantes como length(), substr(), find() e acesso com [] permitem manipular e analisar strings de forma poderosa

Enjoyed this reading?

SharpStack delivers personalized tech readings every day, calibrated to your skill level. 5 minutes a day to stay sharp.

“Stay sharp. At your pace. Everyday.”