Ir para o conteúdo
jose2

Sprintf

Mensagens Recomendadas

TheDark    0
TheDark

int x=5, n_chars=0; char str[100];
n_chars = sprintf(str, "O valor de x é %d", x);
// str fica com o texto "O valor de x é 5"
// n_chars fica com o valor 16, correspondente ao número de caracteres escritos no array str

Mais informações aqui.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pmg    102
pmg

Se tiveres um compilador de C99 (ou se o compilador de C90 tiver a extensão que aceita a função) podes usar a função snprintf() para evitar buffer overflows.

#include <stdio.h>

int main(void) {
  int x = 5;
  int n_chars;
  char buf[11];

  n_chars = snprintf(buf, 11, "O valor de x e %d", x);
  // buf fica com o texto "O valor de"
  // n_chars fica com o valor 16, correspondente ao número
  // de caracters que seria escrito no buf (sem contar com o '\0')
  // se este tivesse tamanho suficiente.
  return 0;
}

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade