Baixe o app para aproveitar ainda mais
Prévia do material em texto
Strings Strings (cadeias de caracteres) são muito utilizadas para guardar nomes de arquivos, nomes de usuários, ou qualquer informação baseada em caracteres. Estes caracteres normalmente estão entre aspas duplas. Uma string é representada por um vetor de variáveis do tipo car, cujo tamnho é o suficiente para representá-lo. A diferença básica entre strings e outros vetores é: O C++ indica o fim do vetor de strings através do acréscimo do acréscimo do caractere NULL (‘\0’) no final do String. ‘A’ é diferente de “A”? Por que? Iniciando um string de caracteres: char titulo[64] = “Bla!!!!”; char titulo[] = “Bla!!!!”; /* Guardar todas as letras do alfabeto em uma variável */ void main () { char alfabeto[27]; // 26 letras mais o NULL char letra; int i; for (letra=’A’, i=0; letra<=’Z’; letra++, i++) alfabeto[i] = letra; alfabeto[i] = NULL; cout << “As letras do alfabeto são: ” << alfabeto; } /* Função para encontrar o tamanho de um string */ int tamanhoString(char string[]) { int i; for (i=0; string[i] != ‘\0’; i++); return i; } Funções especiais: strcat(str1, str2) concatena str2 ao final de str1 Ex. void main() { char nome[40] = “Jose”, sobrenome[30] = “Maria”; strcat(nome, sobrenome); cout << sobrenome << endl; cout << nome; } Saída: Maria JoseMaria Cuidado: - str1 + str2 tem que caber em str1. strcmp(str1, str2) compara dois strings retornando - negativo se str1 < str2 - 0 se str1 = str2 - positivo se str1 > str2 void main () { char nome[40] = “Jose”, sobrenome[30] = “Maria”; if (strcmp (nome, sobrenome)) cout << “Os strings são diferentes”; else cout << “os strings são idênticos”; } Outras funções: strupr(string) e strlwr(string) strcpy(destino, fonte) strlen(string) Exercício 1: Faça um programa que inverta os caracteres de uma string. Seu programa deve fazer isso através de um procedimento que recebe uma string como parâmetro e coloca a string invertida na mesma variável recebida como parâmetro. #include <iostream.h> #include <conio.h> const int TAM = 100; void reverse(char string[]) { int len = strlen(string); int i, j; char string_aux[TAM]; for (i=len-1,j=0; i>=0; i--,j++) { string_aux[j] = string[i]; } string_aux[j]=NULL; strcpy(string, string_aux); } int main() { char nome[TAM]; cin >> nome; reverse(nome); cout << nome << endl; getch(); }
Compartilhar