C ++ printf é uma função de formatação usada para imprimir uma string em stdout. A ideia básica para chamar printf em C ++ é fornecer uma string de caracteres que precisam ser impressos como estão no programa. O printf em C ++ também contém um especificador de formato que é substituído pelo valor real durante a execução.
O protótipo C ++ Printf
O protótipo C ++ printf é:
int printf (const char * format,…);
O protótipo printf é definido no arquivo de cabeçalho
Os parâmetros C ++ Printf
O protótipo C ++ contém os seguintes parâmetros:
- const char: Qualquer texto a ser impresso no console como está
- formato: um ponteiro para a string com o especificador de formato opcional começando com o sinal% d.
Valor de retorno de Printf em C ++
C ++ printf retorna:
- O número de caracteres escritos em caso de sucesso
- Um valor negativo, se falhou
Especificador de forma geral de formato
A forma geral de um especificador de formato printf C ++ é a seguinte:
% [sinalizadores] [largura] [. precisão] [comprimento] especificador
No formato acima:
- %: Este é o sinal principal que denota o início do especificador de formato
- Sinalizadores: um ou mais valores opcionais que modificam o comportamento de conversão. Os valores disponíveis são:
- -: O resultado da função printf é, por padrão, justificado à direita. Este valor justifica os resultados à esquerda
- +: Isso adicionará um sinal aos valores do resultado, mesmo para os valores positivos
- Espaço: se não houver nenhum sinal anexado a um valor, será anexado um espaço no início do resultado
- #: Isso leva a uma forma alternativa de conversão sendo realizada
- 0: você usa este sinalizador para inteiros e números de ponto flutuante para preencher os valores com zeros em vez de espaço
- Largura: um campo opcional que aceita * ou um valor inteiro para determinar o campo de largura mínima
- Precisão: um argumento opcional especifica a precisão aceitando um *, valor inteiro ou nada após o símbolo ‘.’
- Comprimento: um parâmetro opcional que define o tamanho do argumento
- Especificador: este campo aceita um especificador de formato de conversão
Especificadores de formato usados em C ++ Printf
Printf em C ++ pode aceitar os seguintes especificadores de formato.
Especificador |
Descrição |
% |
Imprime o sinal% |
c |
Grava um único caractere no stdout |
s |
Grava uma string no stdout |
d ou i |
Transforma um número inteiro assinado em uma representação decimal |
o |
Exibe um inteiro sem sinal usando uma representação octal |
x ou X |
Transforma um número inteiro sem sinal em uma representação hexadecimal |
u |
Exibe um inteiro sem sinal usando uma representação decimal |
f ou F |
Transforma um número de ponto flutuante em uma representação decimal |
e ou E |
Transforma um número de ponto flutuante em uma notação de expoente decimal |
a ou A |
Exibe um número de ponto flutuante usando um expoente hexadecimal |
g ou G |
Exibe um número de ponto flutuante usando notação de expoente decimal ou decimal |
n |
Retorna o número de caracteres escritos até agora usando esta função de chamada. Ele grava o resultado no valor apontado pelo argumento. |
p |
Um ponteiro que aponta para a sequência de caracteres definida pela implementação |
Exemplos de função C ++ Printf ()
Agora que você conhece os fundamentos do C ++ printf, veja alguns exemplos que lhe darão uma melhor compreensão de como funciona a função printf () em C ++.
Exemplo 1
Neste exemplo, você simplesmente exibirá o valor de um inteiro usando% d e escreverá uma string para stdout usando os especificadores de formato% s.
#include
int main () {
int i=9;
nome do caractere []=”Simplilearn”;
printf (“i=% d \ n”, i);
printf (“Bem-vindo a% s \ n”, nome);
return 0;
}
Resultado:
Exemplo 2
Neste exemplo, você usará vários especificadores de formato da tabela acima para definir o comportamento de conversão e obter o resultado no formato desejado.
#include
int main () {
char c=’S’;
float x=7,0, y=9,0;
double d=6,548;
int i=50;
printf (“A divisão flutuante é:%.3f/%.3f=%.3f \ n”, x, y, x/y);
printf (“O valor duplo é:%.4f \ n”, d);
printf (“Definindo a largura de c:% * c \ n”, 3, c);
printf (“O equivalente octal de% d é% o \ n”, i, i);
printf (“O equivalente hexadecimal de% d é% x \ n”, i, i);
return 0;
}
Resultado:
C ++ Printf vs. Sprintf
A função Sprintf () em C ++ é quase semelhante à função printf () com uma única diferença principal. Enquanto o printf do C ++ grava na saída padrão, o sprintf grava a saída em um buffer de string. O protótipo da função sprintf () é:
int sprintf (char * buffer, const char * format,…);
No protótipo acima, os parâmetros são:
- Buffer: Ponteiro para um buffer onde os resultados serão gravados
- Formato: ponteiro para uma string terminada em nulo gravada no fluxo de arquivo
Exemplo de função C ++ Stringf ()
No exemplo abaixo, você escreverá uma string em um buffer usando a função sprintf e produzirá a string formatada. Você também exibirá o número total de caracteres gravados no buffer.
#include
#include
usando namespace std;
int main () {
char buf [100];
int return_Val;
char my_name []=”Simplilearn”;
char topic []=”tutoriais”;
return_Val=sprintf (buf,”Bem-vindo a% s, você pode ler vários programas% s aqui !!”, my_name, tópico);
cout < cout <<"O total de caracteres escritos é:"< return 0; } A função C ++ printf () geralmente é usada em programação C, mas também pode ser executada em C ++. No entanto, o cout é especificamente um acréscimo ao C ++. A tabela abaixo mostra as diferenças significativas entre C ++ printf e cout. Maior uso Linguagem C Linguagem C ++ Objeto de Especificador de formato Leva o especificador Não requer especificador Valor de retorno Retorna o número de caracteres em caso de sucesso e um valor negativo em caso de falha Não retorna nenhum valor Digite seguro Tipo não seguro em parâmetros de entrada Digite seguro nos parâmetros de entrada No exemplo abaixo, você verá o uso de C ++ printf e cout simultaneamente para ver a diferença. #include usando namespace std; int main () { char c=’S’; cout <<"O valor de c:"< printf (“\ nO valor de c:% c”, c); return 0; } Avance sua carreira como desenvolvedor MEAN stack com o Desenvolvedor Web Full Stack-Programa MEAN Stack Master . Inscreva-se agora! Neste artigo, você aprendeu tudo sobre a função printf () do C ++. Você também viu diferentes especificadores de formato que pode usar para formatar os resultados e usá-los em exemplos. Agora é hora de usar os outros especificadores também. Se você quiser aprender mais sobre esses conceitos fundamentais de programação C ++, consulte o Tutorial C ++ para iniciantes do Simplilearn O tutorial é projetado para iniciantes e cobre todos os conceitos básicos em detalhes. Você também pode fazer nossos cursos SkillUp para aprimorar seu C ++ e outras programações habilidades de linguagem. Se você deseja seguir uma carreira em desenvolvimento web, nosso O curso de desenvolvimento Web Full-Stack pode ser adequado para você. O curso oferece horas de aprendizagem aplicada e materiais de aprendizagem on-line para ajudá-lo a compreender várias linguagens de programação de desenvolvimento da Web que podem ajudá-lo a se destacar no campo. Tem alguma pergunta para nós? Mencione-os como comentários e nossos especialistas entrarão em contato com você da mesma forma, o mais rápido possível! Resultado:
Printf vs. Cout em C ++
C ++ Printf
C ++ Cout
Exemplo de C ++ Cout
Resultado:
Conclusão