Strings em C
• Uma cadeia de caracteres, mais conhecida como string,
´ uma sequˆncia de letras e s´ e e ımbolos, onde os s´ ımbolos podem ser espa¸os em branco, d´ c ıgitos e v´rios outros a como pontos de exclama¸˜o e interroga¸˜o, s´ ca ca ımbolos matem´ticos, etc. a • Em C, uma cadeia de caracteres ´ representada por um e vetor de vari´veis do tipo char e ´ terminada com o a e marcador ’\0’.
Declarando uma cadeia de caracteres char texto [TAMANHO + 1];
• Devemos utilizar uma posi¸˜o al´m do tamanho ca e desejado para que possa ser colocado o marcador ’\0’ no final da string quando essa tiver o tamanho m´ximo. a Lendo uma string do teclado
• Podemos ler uma string caracter a caracter, como far´ ıamos com qualquer outro vetor, mas ´ mais simples e ler a string inteira, utilizando o comando
• Note que n˜o utilizamos o e comercial (&) para strings. a Isso ocorre pois o nome de um vetor j´ ´ um endere¸o de ae c mem´ria (o endere¸o de mem´ria do come¸o do vetor). o c o c scanf ("%s", texto);
Veja o c´digo: scanf.c o Lendo uma string do teclado
• Infelizmente, a leitura a partir do teclado utilizando o scanf lˆ somente at´ o primeiro espa¸o, ou seja, lˆ e e c e somente uma palavra, o que torna o seu uso desta forma um pouco restrito.
• Para contornar isso, podemos utilizar a fun¸˜o gets, ca que faz a leitura at´ encontrar o caracter de fim de linha e (enter ). gets(texto); Veja o c´digo: gets.c o Lendo uma string do teclado
• Outra op¸˜o ´ explorar as outras possibilidades ca e fornecidas pela fun¸˜o scanf. Por exemplo, a op¸˜o ca ca abaixo scanf("%[^\n]); lˆ uma cadeia de caracteres at´ encontrar um enter. e e
Veja o c´digo: scanf[].c o Veja mais op¸˜es consultando: man scanf co Escrevendo uma string na tela
• Podemos escrever uma string na tela caracter a caracter, mas ´ mais simples escrever utilizando o comando e printf, com o mesmo comando utilizado para