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 . Quando você usa a função printf () , ele imprime a string apontada pelo formato para o stdout de saída padrão. O formato também pode conter alguns especificadores que começam com% e substituem os valores das variáveis ​​pela função printf (). Para simplificar, eles funcionam como argumentos adicionais para a função printf ().

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

Destaque-se de seus colegas esta avaliação Temporada

Comece a aprender com nossos cursos GRATUITOS Inscreva-se agora

Destaque-se de seus pares nesta temporada de avaliação

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:

C_Plus_Plus_Printf_Function_1.

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_Plus_Plus_Printf_Function_2

Curso Full Stack Web Developer

Para se tornar um especialista em MEAN Stack Ver Curso

Full Stack Web Developer Course

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;

}

Resultado:

C_Plus_Plus_Printf_Function_3

Printf vs. Cout em C ++

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.

C ++ Printf

C ++ Cout

Maior uso

Linguagem C

Linguagem C ++

Objeto de

arquivo de cabeçalho

arquivo de cabeçalho

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

Exemplo de C ++ Cout

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;

}

Resultado:

C_Plus_Plus_Printf_Function_4.

Avance sua carreira como desenvolvedor MEAN stack com o Desenvolvedor Web Full Stack-Programa MEAN Stack Master . Inscreva-se agora!

Conclusão

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!

Categories: Wordpress