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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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?
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.