Вы находитесь на странице: 1из 1

UNIVALI CTTMAR So Jos Cincia da Computao/Engenharia de Computao

STRINGS EM LINGUAGEM C String: Tipo bastante utilizado em pseudo-cdigo, mas que na linguagem C no existe tipo pr-definido para represent-lo. Em C, um string deve ser representado como um vetor de caracteres, cujo ltimo caracter vlido o caracter nulo (\0). Assim, pode-se manipular o string como uma palavra ou como um vetor, proporcionando flexibilidade aos programas que processam textos. Declarao de uma varivel string em pseudo-cdigo: Var STRING NomeVariavel OU Var STRING[tamanho] NomeVariavel Declarao de uma varivel string em C: char nome[101]; // reserva memria para 100 caracteres de dados + \0 Definio de um Tipo String: typedef char String[256]; // representa strings cfe. pseudo-cdigo ATENO: em funo da inexistncia de um tipo definido para string em C, a manipulao (atribuies, comparaes, outras operaes) de strings nunca poder ser feita de forma direta como no pseudo-cdigo. Para tais tarefas devero ser utilizadas funes primitivas existentes nas bibliotecas abaixo: Funes e procedimentos primitivos para string e manipulao de caracteres <stdio.h> gets ( s ) l um string do teclado e armazena em s. puts ( s ) escreve um string s na tela. getch( ), getche( ) l um caracter do teclado. putch( c ) escreve um caracter c na tela. Funes e procedimentos primitivos bsicos para manipulao de strings <string.h> strlen ( s ) retorna o tamanho dinmico de um string s (n de caracteres vlidos). strcpy ( destino, fonte ) copia um string fonte para o string destino, terminando qdo caracter nulo (finalizador) movido. strcat ( destino, fonte ) anexa copia do string fonte ao final do string destino. strupr ( s ) converte as letras de um string para maisculas. strlwr ( s ) converte as letras de um string para minsculas. strcmp ( s1, s2 ) compara o contedo de dois strings, com sensibilidade ao caso. strncmp ( s1, s2, n ) compara o contedo de dois strings, considerando no mximo n caracteres. Resultado: <0 se s1<s2 (Ana,Bia), 0 se s1=s2 (Ana,Ana) e >0 se s1>s2 (Bia,Ana) strrev ( s ) inverte a posio dos caracteres vlidos no string. Funes e procedimentos primitivos para manipulao de caracteres <ctype.h> (retornos previstos: no nulo = verdade e 0 = falso) isalpha ( c ) verifica se c letra (A at Z ou a at z) isdigit ( c ) verifica se c digito (0..9) isspace ( c ) verifica se c , tab, carriage return, nova linha, tab vertical, ou formfeed isupper ( c ) verifica se c letra maiscula (A at Z) islower ( c ) verifica se c letra minscula (a at z) Exemplo de uso: ALGORITMO exemplo STRING nome, sobren, nomecompl INICIO ESCREVA ("Nome: ") LEIA (nome) ESCREVA ("Sobrenome: ") LEIA (sobren) nomecompl = nome nomecompl = nomecompl + nomecompl = nomecompl + sobren ESCREVA ("Nome completo: ", nomecompl) FIM //PROGRAMA no TurboC #include <stdio.h> #include <string.h> void main(){ char nome[51], sobren[51], nomecompl[101]; printf("Nome: "); // ou puts(Nome: ); gets(nome); // ler um string printf("Sobrenome: "); // ou puts (... ); gets(sobren); strcpy(nomecompl, nome); strcat(nomecompl, ); strcat(nomecompl, sobren); printf(Nome completo %s, nomecompl); }
// inicializao bsica -> string vazia Ex.: // strcpy(nomecompl,);

Вам также может понравиться