Documentação
  • Bem-vindo
  • Biblioteca Padrão
  • Características da linguagem
  • Comentários
  • Declaração e inicialização de variáveis
    • Inferência automática de tipos
  • Tipos de dados
    • Valores numéricos
    • Estruturas e Uniões de dados
      • Acessando os valores dos campos de estruturas
    • Strings e caracteres
      • Subtextos
      • Percorredores
    • Listas duplamente vinculadas
    • Conversão de tipos
  • Laços e Desvios condicionais
    • Lidando com vazamentos de memória em laços
  • Operadores
    • Precedência e Ordem de avaliação de operadores
  • Rotinas, Parâmetros e Funções
  • Trabalhando com Bibliotecas externas
  • Trabalhando com Instruções Hexadecimais
  • Callbacks
  • Introduzindo as palavras-chave "Preserve" e "original"
  • Usando a preposição "de"
  • Cores
  • Gráficos de Tartaruga (Turtle Graphics)
  • Algoritmos de Exemplo
    • Olá Mundo
    • A + B
    • Agenda Telefônica
    • Animação de sprites
    • Fatorial
    • 100 Portas
    • Dó Ré Mi Fá
    • API Win32 - GdipImageRotateFlip
    • Pintando como Claude Monet
    • Exemplo de interface
    • Evitando problemas de cintilação (Flickering)
    • Desenhando e pintando retângulos e caixas
    • Cofrinho Virtual
Fornecido por GitBook
Nesta página
  • Caracteres
  • Strings
  • Manipulando strings

Isto foi útil?

Editar no GitLab
  1. Tipos de dados

Strings e caracteres

AnteriorAcessando os valores dos campos de estruturasPróximoSubtextos

Atualizado há 3 meses

Isto foi útil?

Caracteres

O compilador trabalha com os caracteres constantes na ().

A lista é composta de 256 caracteres, incluindo .

␀ ␁ ␂ ␃ ␄ ␅ ␆ ␇ ␈ ␉ ␊ ␋ ␌ ␍ ␎ ␏ ␐ ␑ ␒ ␓ ␔ ␕ ␖ ␗ ␘ ␙ ␚ ␛ ␜ ␝ ␞ ␟ ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ ? € ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ Ž ‘ ’ “ ” • – — ˜ ™ š › œ ž Ÿ ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ

Abaixo temos a implementação do tipo caractere:

Um caractere é um byte. \ 1 byte = 8 bits

Um byte são 8 bits sequenciais de dados binários. São números sem sinal, com valores variando de 0 a 255.

Como os caracteres nada mais são do que um tipo derivado do tipo byte, é possível utilizar as mesmas operações aritméticas comuns (soma, subtração, etc).

Strings

Strings são delimitadas com aspas duplas.

Exemplo:

O servidor SMTP padrão é uma string igual a"localhost".

Atribua"José"ao nome desta pessoa.

Se o nome desta pessoa for"João", retorne.

Exemplo:

Atribua "Erro. A palavra chave ""Itere"" não foi localizada." à mensagem de erro.

No código abaixo temos a implementação do tipo string:

Uma string é uma estrutura com

Um caractere inicial e

Um caractere final.

Sendo que

Um caractere inicial é um ponteiro [que aponta] para um byte.

Um caractere final é um ponteiro [que aponta] para um byte.

Perceba que o compilador armazena "strings" em duas partes:

  1. Uma estrutura com um par de ponteiros de bytes denominadoscaractere inicial e caractere final, e

  2. Um array dinâmico que contém os bytes reais da string, de forma similar à imagem abaixo:

Observação: os números no diagrama acima, são endereços fictícios.

Uma string é considerada em branco se o caractere inicial for inexistente (ou seja, nenhuma memória foi alocada ainda) ou se o endereço do caractere final for menor do que o endereço do caractere inicial (o que permite ao compilador realizar pré-alocação de memória).

As strings são alocadas dinamicamente e podem ter qualquer comprimento - mas a memória de strings é gerenciada inteiramente (e de forma muito eficiente) pelo compilador, quase como se fossem alocadas estaticamente. Em outras palavras, você não precisa se preocupar com elas, pois o compilador gerencia a alocação e desalocação de forma automática.

Manipulando strings

Na Biblioteca padrão existem diversas rotinas para manipulação de strings.

Exemplos:

ATRIBUA variável PARA uma string.

ACRESCENTE algo PARA uma string.

INSIRA algo EM uma STRING antes de um caractere.

REMOVA O CARACTERE INICIAL DE uma string.

REMOVA O CARACTERE FINAL DE uma string.

PREENCHA uma string COM um CARACTERE USANDO uma quantidade.

REMOVA OS CARACTERES INICIAIS DE uma string USANDO uma quantidade.

REMOVA OS CARACTERES FINAIS DE uma string COM UMA quantidade.

REMOVE OS CARACTERES DE uma string DADA uma substring.

Você também pode alterar uma string para deixar o texto em LETRAS MAIÚSCULAS ou em letras minúsculas. (Ou alterar apenas a primeira letra para letras maiúsculas).

E você pode, é claro, obter o comprimento de uma string, em bytes.

Exemplo:

Atribua "João" para uma string.

Atribua o comprimento desta string para um número.

Além disso, você pode concatenar strings com strings — e outros tipos de dados — usando o operador junto com ou seguido de.

Exemplo:

Atribua o nome junto com o sobrenome para uma string.

Escreva "Erro #" junto com o número do erro seguido de "." no console.

Utilizamos aspas duplas como .

code page
Windows 1252
ISO-8859-1
caracteres de controle
caractere de escape
Figura 1 - Representação de um array com os dados da string, contendo o caractere o endereço na memória.
Figura 1 - Representação de um array com os dados da string, contendo o caractere o endereço na memória.