• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

jose2

Sprintf

4 mensagens neste tópico

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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

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