Curso C – Aula 06

Por Guilherme Farias em 01 de dezembro de 2011

Nesta sexta aula vamos aprender como criar e manipular Strings.

Na programação, o “texto” é chamado de String, na verdade String é uma cadeira de caracteres, ou seja, é uma sequência de caracteres que vai formar um texto.
Por exemplo, a palavra Guiky, é uma sequência dos caracteres ‘G’,’u’,’i’,’k’ e ‘Y’, em C as strings são armazenadas em arrays, onde cada caractere vai preencher um espaço do array. Se queremos escrever a palavra Guiky criamos um vetor de 6 posições e adicionamos a nossa palavra.

char nome[6] = "Guiky";

Note que criamos um array do tipo char (caractere) capaz de armazenar 6 caracteres (nossa palavra possui apenas 5 caracteres) isto porque em C no fim de toda string há o caractere ‘\0′, indicando o fim da sequência de caracteres.
Em C, para adicionarmos uma String dentro do array, basta colocar o array recebendo a palavra entre aspas (“palavra”)
OBS: se você não souber quantas letras serão necessárias, basta superestimar o valor, por exemplo, eu quero pegar o primeiro nome de uma pessoa, ou seja, é quase impossível uma pessoa ter mais de 20 letras só no primeiro nome, então eu declaro desta forma:

char nome[20];

Agora que sabemos um pouco de como funciona uma String na linguagem C, vamos entrar em mais detalhes.

Funções da biblioteca

Ao trabalhar com Strings é comum utilizar a biblioteca string.h, que acrescenta várias funcionalidades ao programa além de ser uma das bibliotecas padrões da linguagem C.

strcpy
O strcpy copia o conteúdo de uma string para outra e deve ser usado desta maneira:

strcpy (destino, origem);

veja o exemplo:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[]){
    char string1[20] = "Guiky";
    char string2[20];
    strcpy(string2,string1);
    printf("Bem vindo ao %s n", string2);
    system("PAUSE");
    return 0;
}



Note que o conteúdo da primeira string foi copiado para a segunda string, agora é importante tomar cuidado para que o programa não tente copiar o conteúdo de uma string para dentro de outra string menor, isso é um dos problemas que pode acontecer e é chamado de estouro de buffer.

strcat
A função strcat concatena (junta) duas strings, adicionando o conteúdo da segunda string ao final da primeira, funciona da seguinte maneira:

strcat (destino, origem);

Veja o exemplo:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[]){
    char string1[20] = "Curso ";
    char string2[5] = "de C";
    strcat(string1, string2);
    printf("%sn", string1);

    system("PAUSE");	
    return 0;
}

Resultado será:

OBS: cuidado para que não ocorra estouro de buffer, para isso, certifique-se que a string tenha espaço suficiente para conter o seu conteúdo e o conteúdo da string que será concatenada.

Recebendo Strings do teclado

Parar receber uma string a partir do teclado, ou seja, para armazenar uma string que um usuário digitou, vamos utilizar a função gets(), seu uso é um pouco diferente do scanf(), mas é bem simples também, veja.

gets (nome_da_string);

Ela é usada da seguinte maneira:

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
    char nome[20];
    printf("Digite o seu nome: ");
    gets(nome);
    printf("Ola %sn",nome);

    system("PAUSE");	
    return 0;
}

Exercicio:

Vamos deixar mais um exercício para você treinar sua programação, e caso você tenha alguma duvida, é só deixar um comentário ou entrar em contato.
Vale lembrar que nesta biblioteca há outras funções, mas por enquanto vamos focar apenas nessas.

1) Crie um programa que receba o nome e sobrenome (um de cada vez) de uma pessoa, você deve armazenamos em variáveis diferente, no final imprima na tela o nome e o sobrenome da pessoa, lembre-se que o usuário que deverá digitar as informações.
2) Troque o nome da pessoa pelo sobrenome dela e imprima na tela o resultado

Veja também:
Aula 01
Aula 02
Aula 03
Aula 04
Aula 05
Aula 06
Aula 07
Aula 08

1 comentário

Deixe uma resposta

O seu endereço de email não será publicado

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>