Pular para o conteúdo

Funções de manipulação de strings

Dica publicada em Linux / Introdução
Fábio Arnoni fabioarnoni
Hits: 13.953 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Funções de manipulação de strings

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";

}
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Instalando o Firefox no Debian Etch 4.0 com lançador

Primeiras Impressões do KDE 3.5

Menu popup dinânico (DHTML) com infinitos níveis usando apenas CSS

Instalação do MySQL no Fedora e comandos iniciais

Instalando e configurando um servidor LAMP (Linux, Apache, MySQL e PHP) no Debian Etch

Instalando o Tema de Ícones Tela Circle

#1 Comentário enviado por juliofsn em 30/01/2008 - 14:56h
"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."

Na verdade o "gets" já existia desde o C, e deve-se ter cuidado ao utilizá-la, pois se o usuário digitar uma palavra maior do que a string buffer que foi passada, ela sobreescreve o espaço de memória do programa.
#2 Comentário enviado por fabioarnoni em 30/01/2008 - 19:45h
Julio muito obrigado pela correção! Qualquer dica fiquem a vontade !!!

Contribuir com comentário

Entre na sua conta para comentar.