Usamos manipuladores de String quando desejamos trabalhar com palavras no C++. Abordaremos agora algumas funções, destacando sua utilidade, com pequenos exemplos no final de cada uma.
Função gets
Sintaxe: gets(string)
Esta função foi feita para substituir a "iostream cin" com o intuito de suprir a necessidade de se armazenar palavras que têm como caractere o espaço.
Exemplo:
#include <iostream.h>
#include <string.h>
#include <stdio.h>
void main()
{
char frase[101];
cout<<"Digite uma frase de no máximo 100 caracteres:\n";
gets(frase);
cout<<"\nA frase que você digitou é:\n\n";
cout<<frase;
}
Função strlen
Sintaxe: strlen(string)
A função strlen serve para contar quantos caracteres tem na palavra digitada.
Exemplo:
#include <iostream.h>
#include <stdio.h>
#include <string.h>
void main()
{
char frase[101];
int n;
cout<<"Digite uma frase com no máximo 100 caracteres:\n\n";
gets(frase);
n = strlen(frase);
cout << "\n\nEsta frase tem "<< n << " caracteres";
}
Função strcat
Sintaxe: strcat(string1,string2)
Esta função serve para concatenar (Juntar) strings. A função strcat pega o valor das strings e junta , sempre armazenando na primeira string.
Exemplo:
#include <iostream.h>
#include <stdio.h>
#include <string.h>
void main()
{
char nome[40];
char sobrenome[20];
cout << "Digite seu 1º nome:\n";
gets(nome);
cout << "Digite seu sobrenome:\n";
strcat(nome, " ");
gets(sobrenome);
strcat(nome,sobrenome);
cout << "Seu nome completo é "<< nome;
}
Ps: Note que na primeira utilização da função strlen, concatenamos um espaço à variável nome para que o nome e sobrenome não saiam juntos na hora de imprimir no vídeo (cout).
Função strcpy
Sintaxe: strcpy(string1,string2)
Usamos a função strcpy quando queremos copiar o conteúdo de uma string para outra.
Exemplo:
#include <iostream.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>
void main()
{
char frase1[100];
char frase2[100];
char frase3[100];
cout<<"Digite que será armazenada na casa 1:\n";
gets(frase1);
cout<<"Digite uma frase que será armazenada na casa 2:\n";
gets(frase2);
cout<<"Digite uma frase que será armazenada na casa 3:\n";
gets(frase3);
clrscr();
strcpy(frase1,frase2);
cout <<"Casa 1: " << frase1;
cout <<"\n\nCasa 2: "<< frase2;
cout<<"\n\nCasa 3: "<<frase3;
}
Função strcmp
Sintaxe: strcmp(string1,string2)
Usamos a função strcmp quando desejamos comparar string com a outra.
Exemplo:
#include <iostream.h>
#include <stdio.h>
#include <string.h>
void main()
{
char senha[30] = {"fatec-scs"};
char palavra[30];
cout << "Digite a senha: "; gets(palavra);
if (!strcmp(senha,palavra)) cout << "Pode passar você acertou!!";
else cout << "Ahh que pena , você errou !!!";
}
PS: Observe a exclamação à frente da função, indica negação .Caso o strcmp devolva uma resposta negativa ao if, a etapa é pulada, seguindo com else.
Conclusão:
O uso de funções para manipular string podem resolver com praticidade o que levaria umas linhas de código a mais caso optássemos por outra solução.