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

jose2

Sprintf

Recommended Posts

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.


Desaparecido.

Share this post


Link to post
Share on other sites
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;
}


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.