Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Diferença entre usar sprintf e char *

Não conhecia funcionalidade do sprintf até ver aqui no ALURA. Sempre quando precisava de strings, eu utlizava o char*. Percebi que os dois servem para trabalhar com strings. Gostaria de saber qual é a diferença entre os dois?

2 respostas
solução!

sprintf: envia o resultado para um buffer, passado como primeiro parâmetro. Esta função é considerada insegura porque o resultado pode ser maior que esse buffer, principalmente se os parâmetros vararg forem fornecidos por um agente externo, abrindo a porta para uma invasão (stack overflow).

snprintf: versão segura do sprintf. O segundo parâmetro passado é o tamanho do buffer passado no primeiro parâmetro. Se o resultado for maior que o tamanho declarado do buffer, ele será preenchido até o limite, mas sem stack overflow.

Já o char* é só uma cadeia de caracteres

Perfeiro! Obrigado pelo esclarecimento.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software