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 >> |