anterior
Tweet about this on TwitterPin on PinterestShare on LinkedInShare on Google+Email this to someoneShare on Facebook
QR CODE

Trabalhando com textos em C

Está com problemas ao comparar textos na linguagem C? Então seguem algumas funções ideais para se trabalhar com textos em C.

CAPA

Identificando Problemas:

Geralmente ao programarmos necessitamos identificar o problema para só então apresentar a solução através do código fonte. Nesse caso temos o seguinte problema:

“Criar um programa que identifique qual o nome do usuário, caso o usuário se chame RENATA, apresentar a mensagem que os nomes são iguais, caso contrário apresentar a mensagem que os nomes são diferentes.”

Geralmente iríamos utilizar a seguinte expressão condicional para realizar uma comparação entre dois textos:

if(nome == “Renata”){

Bloco de Comandos

}

O único problema é que o sinal de comparação (==) só funciona quando estamos trabalhando com valores numéricos, para resolver esse problema o ideal é utilizar uma das seguintes funções: strcmp ou strcmpi. Uma observação muito importante é que para que seja possível utilizar as funções citadas é necessário importar a biblioteca: #include <string. h>

Qual é a diferença entre Strcmp ou Strcmpi?

Strcmp: Essa função trabalha com a exatidão da palavra, o retorno dessa função é 0 para verdadeiro e -1 para falso. Quando utilizada para comparar textos mesmo sendo iguais porém escritos de formas diferentes ela irá retornar falso.

Exemplo: Para a função o texto “Renata” é diferente de “RENATA”. Neste caso a função irá retornar -1.

Strcmpi: Essa função não é case sensitive (Sensível a Maiúsculas e Minúsculas), o retorno dessa função é 0 para verdadeiro e -1 para falso. Quando utilizada para comparar textos sendo iguais, independente se foi digitado em maiúscula ou minúscula.

Exemplo: Para a função o texto “Renata” é igual ao “RENATA”. Neste caso a função irá retornar 1.

Resolvendo o problema

Para que o problema proposto no início desse post, irei apresentar um código na linguagem C, unificando tudo que aprendemos.

O código abaixo foi compilado e testado, utilize ele como base para a realização de novos testes:

#include <iostream>

// Para que seja possível utilizar o STRCMP é necessário incluir

// a biblioteca abaixo.

#include <string.h>

using namespace std;

int main(){

char nome1[80] = “Renata”;

char nome2[80];

cout << “Digite o seu nome: “;

cin >> nome2;

if (strcmp(nome1, nome2)== 0){

cout << “Nomes Iguais” << endl;

}else{

cout << “Nomes Diferentes” << endl;

}// Fim do Senão

system (“pause”);

return 0;

}// Fim do Método Principal

Outras funções que trabalham com textos

A linguagem C possui outras funções que permite trabalhar com textos, letras maiúsculas e minúsculas, funções que contam quantos caracteres possui uma determinada string ou um determinado caractere.

Toupper() ou Tolower(): tem a possibilidade de retornar em maiúscula ou minúscula, lembrando que para a sua utilização deve-se antes incluir a biblioteca: <cctype>;

Strlen(): função que retorna o número de caracteres que uma determinada palavra ou frase possui;

Strcpy(): função que trabalha com dois parâmetros, o primeiro parâmetro indica para onde o valor será copiado e o segundo qual valor será copiado;

Strcat(): função que permite concatenar (unificar) dois ou mais textos, também trabalha com dois parâmetros.

Agora tem que por em prática!

Agora que já conhece várias funções de textos abra o Dev C++ ou outro compilador de sua preferência e crie novos arquivos-fontes, testes novas funções e se aprimore na programação.

Espero que tenha gostado desse post, e não se esqueça de curtir e compartilhar.

Comente suas experiências ou dúvidas ao final desse post.

Até a próxima!

Próximo

Postado por

Postagem Relacionada

Entenda o porquê de traduções nem sempre funcionarem na língua inglesa
Você já tentou fazer uma tradução do inglês para o português e ficou meio esquisita