Arrays de caracteres: strings

Slides:



Advertisements
Apresentações semelhantes
Prof. Luis Otavio Alvares
Advertisements

Linguagem C Strings.
Strings Definição: Não confundir caracteres com strings
PROGRAMAÇÃO ESTRUTURADA II
Aula Prática 12 Operações com Arquivos Monitoria
Operações com Arquivos Monitoria A estrutura FILE  É como um tipo de dado, mas não é um tipo propriamente dito  Definido no arquivo cabeçalho.
Aula Prática 11 Operações com Arquivos Monitoria
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Arrays e Matrizes na Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
PCI- Vetores Profa. Mercedes Gonzales Márquez. Aula 5 - VetoresAlgoritmos e Estruturas de Dados I Sequência de valores todos do mesmo tipo Nome único.
Aula Prática 7 STRINGS Monitoria  Um dos tipos de arranjos que mais ocorre em C é o arranjo de caracteres, ou string. C não suporta um tipo básico.
1 Aula 08 Conteúdo de Suporte ao Trabalho 2 Prof. Filipe Mutz.
Disciplina:PROA3V José Henrique Verhalem e Renan Tenório Professor: Alexandre Cassimiro Novembro 2015.
Introdução à Informática com Software Livre 11:37.
Linguagem de Programação – Aula 03 Prof. Me. Ronnison Reges Vidal.
Algoritmos Aula 7 Estruturas Homogêneas - Strings Prof. Luiz
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Variáveis e Atribuições.
Introdução à Computação para Engenharia MAC2166
Profa. Mercedes Gonzales Márquez
Algoritmos e Estruturas de Dados I
Introdução à Programação Linguagem C
Introdução a Programação Linguagem C Caracteres e Strings
Construção de Algoritmos AULA 04
Fundamentos de Programação 1
Comandos da Linguagem C
Estruturas de Repetição
Linguagem C Para programadores Python
Serial no arduino recepção no bluetooth
Capítulo 8 - Caracteres e Strings
Prof. Wellington Franco
Fundamentos de Programação 1
Departamento de Informática Universidade Federal do Espírito Santo
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
Introdução à Programação BCC 201 Aula
Programação estruturada em C++: extensões ao C
Prof. Wellington Franco Manipulação de Arquivos em C
Programação de Computadores I – Arquivos
Algoritmos e Estruturas de Dados I
FUNDAMENTO DE PROGRAMAÇÃO
UNIDADE 7 Tipos estruturados
INE 5201 – INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO
CES-11 ALGORITMOS E ESTRUTURAS DE DADOS
Algoritmos e Estruturas de Dados I
Algoritmos e Programação MC102
Daniel Paulo SQL Server 2016 Módulo II Daniel Paulo
Ponteiros Parte III.
CES-11 ALGORITMOS E ESTRUTURAS DE DADOS Aulas Práticas – 2017
Entrada e Saída de Dados com Arquivos – Java
Relembrando... Variáveis : endereçam uma posição de memória que contem um determinado valor dependendo do seu tipo (char, int, float, double, ...) void.
Complexidade de Algoritmos
Profa. Maria Augusta Constante Puget
Programação Orientada a Objetos*
Linguagem PASCAL Tipos Estruturados
EDA - Prof. Paulemir Campos
DHD – Desenvolvimento em Hardware
Linguagem de Programação
Linguagem C Linguagem Imperativa
Visual Basic TCP.
Strings.
Estruturas definidas pelo programador
Linguagem C Linguagem Imperativa
Prof. Rafael Mesquita Listas Encadeadas Prof. Rafael Mesquita
Programação de Computadores LINGUAGEM C – AULA 03 – PROF. WELLINGTON TELLES.
DHD – Desenvolvimento em Hardware
Python: Comandos Básicos
Introdução a progrmação Comandos condicionais: if e switch
RESULUÇÃO DOS EXERCÍCIOS E
CES-11 ALGORITMOS E ESTRUTURAS DE DADOS Aulas Práticas – 2019
Aula 9 Professores: Conteúdo: Dante Corbucci Filho
Aula 3 Professores: Conteúdo: Dante Corbucci Filho
Transcrição da apresentação:

Arrays de caracteres: strings Prof. Eduardo Campos - UFU / Monte Carmelo

Definição String Ex.: Sequência de caracteres adjacentes na memória. Em outras palavras, strings são arrays do tipo char. Ex.: char str[6];

Definição String Ex: char str[6] = “Oi”; Devemos ficar atentos para o fato de que as strings têm no elemento seguinte a última letra da palavra/frase armazenada, um caractere '\0'. O caractere '\0' indica o fim da sequência de caracteres. Ex: char str[6] = “Oi”;

Definição Importante: Ex: char str[6] = “Teste”; Ao definir o tamanho de uma string, devemos considerar o caractere '\0'. Isso significa que a string str comporta uma palavra de no máximo 5 caracteres. Ex: char str[6] = “Teste”;

Definição Por se tratar de um array, cada caractere pode ser acessado individualmente por indexação. Ex: char str[6] = “Teste”; str[0] = 'T';

Definição IMPORTANTE: Na inicialização de palavras, usa-se “aspas duplas”. Ex: char str[6] = “Teste”; Na atribuição de caracteres, usa-se 'aspas simples'. Ex: str[0] = 'L';

Manipulando strings Strings são arrays. Portanto, não se pode atribuir uma string para outra. O correto é copiar a string elemento por elemento.

Copiando uma string

Manipulando Strings Felizmente, a biblioteca padrão C possui funções especialmente desenvolvidas para esse tipo de tarefa: #include <string.h>

Manipulando Strings - Leitura Exemplo de algumas funções para manipulação de strings. gets(str): lê uma string do teclado e coloca em str. Ex: char str[10]; gets(str);

Manipulando Strings – Limpeza do buffer Às vezes, podem ocorrer erros durante a leitura de caracteres ou strings. Para resolver esses pequenos erros, podemos limpar o buffer do teclado. Char str[10]; setbuf(stdin, NULL); // limpa o buffer gets(str);

Manipulando Strings - Escrita Basicamente, para se escrever uma string na tela utilizamos a função printf(). char str[20] = “Hello World”; printf(“%s”, str);

Manipulando Strings - Tamanho strlen(str): retorna o tamanho da string str. Ex: char str[15] = “teste”; printf(“%d”, strlen(str)); Neste caso, a função retornará 5, que é o número de caracteres na palavra “teste” e não 15, que é o tamanho do array.

Manipulando Strings - Copiar strcpy(destino, fonte): copia a string contida na variável fonte para destino. Ex: char str1[100], str2[100]; printf(“Entre com uma string:”); gets(str1); strcpy(str2, str1); printf(“%s”, str2);

Manipulando Strings - Concatenar strcat(dest, fonte): concatena duas strings. Nesse caso, a string contida em fonte permanecerá inalterada e será anexada ao fim da string de dest. Ex: char str1[15] = “bom ”; char str2[15] = “dia”; strcat(str1, str2); printf(“%s”, str1);

Manipulando Strings - Comparar strcmp(str1, str2): compara duas strings. Nesse caso, se as strings forem iguais, a função retorna ZERO. Ex: if (strcmp(str1, str2) == 0) printf(“Strings iguais”); else printf(“Strings diferentes”);

Manipulando Strings Basicamente, para se ler uma string do teclado utilizamos a função gets(). No entanto, existe outra função que, utilizada de forma adequada, também permite a leitura de strings do teclado. Essa função é a fgets(), cujo protótipo é: char* fgets(char *str, int tamanho, FILE *fp);

Manipulando Strings A função fgets recebe 3 argumentos: E retorna: A string a ser lida, str; O limite máximo de caracteres a serem lidos, tamanho; A variável FILE *fp, que está associado ao arquivo de onde a string será lida; E retorna: NULL em caso de erro ou fim do arquivo. O ponteiro para o primeiro caractere recuperado em str.

Manipulando Strings Note que a função fgets utiliza uma variável FILE *fp, que está associada ao arquivo de onde a string será lida. Para ler do teclado, basta substituir FILE *fp por stdin, o qual representa o dispositivo de entrada padrão (geralmente o teclado). fgets(str, tamanho, stdin);

Manipulando Strings A função lê a string até que um caractere de nova linha seja lido (i.e., '\n') ou tamanho-1 caracteres sejam lidos. Se o caractere de nova linha ('\n') for lido, ele fará parte da string, o que não acontecia com o gets. A string resultante sempre terminará com '\0' (por isso serão lidos no máximo tamanho-1 caracteres); Se ocorrer algum erro, a função retornará um ponteiro nulo em str.

Manipulando Strings A função fgets é semelhante à função gets, porém, com as seguintes vantagens: Pode fazer a leitura a partir de um arquivo de dados e incluir o caractere de nova linha “\n” na string. Especifica o tamanho máximo da string de entrada. Evita estouro no buffer. Ex: fgets(str, tamanho, stdin);

Manipulando Strings Basicamente, para escrever uma string na tela utilizamos a função printf(). printf(“%s”, str); No entanto, existe outra função que, utilizada de forma adequada, também permite a escrita de strings. Essa função é a fputs(), cujo protótipo é: int fputs(char *str, FILE *fp);

Manipulando Strings A função fputs() recebe como parâmetro um array de caracteres e a variável FILE *fp representando o arquivo no qual queremos escrever. Retorno da função: Se o texto for escrito com sucesso, um valor inteiro diferente de zero é retornado. Se houver erro na escrita, o valor EOF (em geral, - 1) é retornado.

Manipulando Strings Note que a função fputs() utiliza uma variável FILE *fp, que está associada ao arquivo de onde a string será escrita. Para escrever no monitor, basta substituir FILE *fp por stdout, o qual representa o dispositivo de saída padrão (geralmente a tela do monitor). char str[20] = “Teste de escrita”; fputs(str, stdout);