Buscar

eclp_C_04

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Manipulação de Strings
Cadeias de caracteres (strings)
• Uma cadeia de caracteres ou string é uma sequência de letras e símbolos. 
Os símbolos podem ser espaços em branco, dígitos e outros tais como pontos de exclamação e interrogação, símbolos matemáticos, etc.
• Em C, uma cadeia de caracteres é representada por um vetor de tipo char que termina com o terminada com o caractere ’\0’ que marca o final da cadeia.
Declaração de uma string
char nome_string [TAMANHO + 1];
Deve-se utilizar uma posição além do tamanho desejado para que possa ser colocado o ’\0’ no final da string quando ela tiver o tamanho máximo.
Leitura e escrita de uma string
Podemos ler uma string caractere a caractere, como qualquer vetor
ler a string inteira, utilizando
		scanf ("%s", string); ou 	scanf("\n%[^\n]", string); ou
		scanf("%[^\n]", string);
printf ("%s", string);
Manipulação de strings
A biblioteca string.h contem funções para manipulação de strings
Algumas das funções da biblioteca são:
strlen(s):retorna o tamanho da string s sem contar o caractere ’\0’
strcpy(destino, fonte): copia a string fonte
		para a string destino
 	strcat(destino, fonte): concatena a string fonte no fim da string destino
Manipulação de strings
strcmp(str1, str2): compara duas cadeias e caracteres e retorna um valor
		= 0 se str1 e str2 forem iguais
		< 0 se str1 for menor que str2
		> 0 se str1 for maior que str2
Exemplo 3
#include <string.h>
	typedef char *string;
 int strcmp( string s, string t) { 
		int i; unsigned char usi, uti; 
		for (i = 0; s[i] == t[i]; ++i) 
			if (s[i] == '\0') return 0; 	
		usi = s[i]; uti = t[i]; 
		return usi - uti;
 }
Manipulação de strings
strchr(string,caractere): retorna um ponteiro para  a primeira ocorrência de "caractere". Caso "caractere" não seja encontrado, ela retornará um ponteiro para o caractere NULL que marca o final da string.
strrev(string): para inverter o conteúdo de uma string use a função
Manipulação de strings
strupr(string): para converter uma string para maiúsculas
strlwr(string): para converter uma string para minúsculas
*strstr(string,substring): para localizar uma substring dentro da string
Exemplo 4
#include <stdio.h>
#include <string.h> 
int main()   {     char string[20],substring[20];    
		char *extrai;     int tamanho;      
	 	printf("Localizando uma substring dentro da string\n");       
		printf("Entre com a string :");     
		scanf("%s",&string);     printf("\n");     
		printf("Entre com a substring :");     
		scanf("%s",&substring);     tamanho = strlen(substring);     
		extrai = strstr(string,substring);     
		printf("\n");    
		if(extrai){ printf("A string contém a substring.\n");         
			 printf("A substring começa na posição %d.\n", 			extrai - string);         
			 printf("A substring tem %dcaracteres.\n", 			tamanho);       
 }      
		else  printf("A string não contém a substring.\n");    
 return(0);  
 }
Conversão de strings em números
Estas funções fazem parte do arquivo de cabeçalho stdlib.h 
 
 
Função
Tipo numérico
atof(string)
float
atoi(string)
int
atol(string)
longint
strtod(string)
double
strtol(string)
long

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais