Principais Funções de String
Função | Descrição | Modo de utilização |
---|---|---|
fprintf | Envia uma saída de texto formatada para um objeto do tipo stream. | int fprintf (FILE *stream, const char *format [, argument, ...]); |
printf | Envia uma saída de texto formatada para a tela. | int printf ( const char *format [, argument, ...]); |
sprintf | Envia uma saída de texto formatada para outra string. | int sprintf (char *buffer, const char *format [, argument, ...]); |
#include <stdio.h> FILE *arquivo; void main(void) { arquivo = fopen("arquivo.txt","wt"); fprintf(arquivo, "O MSX ainda vive!"); fclose(arquivo); }
% [flags] [largura] [.precisão] [F|N|h|l|L] [tipo de caracter]Onde:
Componente | Descrição |
---|---|
flags | Alinhamento, sinais, pontos decimais, etc. |
largura | Fixa largura de saída. |
precisão | Número de casas no ponto flutuante. |
tipo de saída | Conversão de tipos. |
formato | Indica se a saída é do tipo inteiro, flutuante, caracter, string, etc. |
Flag | Descrição |
---|---|
- | Alinhamento à esquerda, preenchendo com brancos à direita. Se não for utilizado, o texto é alinhado à direita, preenchendo-se à esquerda com zeros ou brancos. |
+ | Sinaliza resultado numérico com o sinal de (+) ou de (-). |
branco | Se o resultado for positivo, sinaliza com um branco. Se negativo, sinaliza com o sinal de menos (-). |
# | Especifica que aquele argumento deve ser convertido utilizando-se uma maneira alternativa. |
Largura | Descrição |
---|---|
n | Pelo menos n caracteres são impressos. Se o valor tiver menos caracteres que n, preenche-se o resto com brancos. |
0n | Pelo menos n caracteres são impressos. Se o valor tiver menos caracteres que n, preenche-se o resto com zeros. |
* | A lista de argumentos fornece a largura, que deverá preceder o verdadeiro argumento a ser formatado. |
Precisão | Descrição |
---|---|
nada | Precisões default: 1, para os tipos d, i, o, u, x, X. 6, para os tipos e, E, f. Todos os dígitos significativos para os tipos g, G. Imprima o primeiro caracter nulo dos tipos s. Sem efeito, para os tipos c. |
0 | Para os tipos d, i, o, u, x, X, a precisão é
ajustada para a default. Para os tipos e, E, f, nenhum ponto decimal é impresso. |
n | n caracteres ou n casas decimais. Se o resultado tiver mais de n caracteres, o resultado será truncado ou arredondado (isto depende do tipo do caracter). |
* | A lista de argumentos fornece a largura, que deverá preceder o verdadeiro argumento a ser formatado. |
Tipo de Saída | Tipo de Argumento | Argumento é interpretado como |
---|---|---|
F | Ponteiro (P, s, n) | far pointer |
N | Ponteiro (P, s, n) | near pointer |
h | d i o u x X | short int |
l | d i o u x X e E f g G |
long int double |
L | e E f g G | long double |
Formato | Tipo | Descrição |
---|---|---|
d | Inteiro | Inteiro sinalizado. |
i | Inteiro | Inteiro sinalizado. |
o | Inteiro | Octal não sinalizado. |
u | Inteiro | Inteiro não sinalizado. |
x | Inteiro | Hexadecimal, com letras minúsculas. Ex: a0. |
X | Inteiro | Hexadecimal, com letras maiúsculas. Ex: A0. |
f | Ponto flutuante | Valor sinalizado de ponto flutuante. |
e | Ponto flutuante | Valor sinalizado de ponto flutuante, com notação científica (1.23e-12). |
g | Ponto flutuante | Alterna para f ou e, dependendo da formatação. |
E | Ponto flutuante | Valor sinalizado de ponto flutuante, com notação científica (1.23E-12). |
G | Ponto flutuante | Idem de g para E. |
c | Caracter | Um simples caracter. |
s | String | Imprime uma cadeira de caracteres até que se encontre o caracter "null-terminator". |
% | Nada | Imprime o caracter %. |
n | Ponteiro para int | Armazena (no local apontado pelo argumento de entrada) a quantidade de caracteres escritos desde então. |
p | Ponteiro | Imprime o argumento de entrada como um ponteiro. |
Formatando a String
A formatação do texto começa com o caractere "%". Os argumentos são as variáveis passadas para o formatador, localizadas depois do texto entre aspas. Para n argumentos, a correlação de formatação é feita da seguinte forma:
printf("%1 %2 %3 ...", 1, 2, 3,...);
printf("O aluno %s teve média %f em história.\n", nome, media);
int gols = 15; printf("Gols no campeonato: %03d", gols);
double peso = 45.12345; printf("Peso: %.2f", peso);
<< Anterior | Linguagem C | Próxima >> |