Programar em C/Entrada e saída simples: diferenças entre revisões

[revisão pendente][revisão pendente]
Conteúdo apagado Conteúdo adicionado
Linha 435:
<tt>sprintf</tt> e <tt>sscanf</tt> são semelhantes a <tt>printf</tt> e <tt>scanf</tt>. Porém, ao invés de escreverem na saída padrão ou lerem da entrada padrão, escrevem ou lêem em uma string. A única mudança nos argumentos é a necessidade de especificar a string que deve ser lida ou atribuída no início. Veja os exemplos para entender melhor.
 
<source lang="c">
#include <stdio.h>
Linha 447 ⟶ 448:
return 0;
}
</source>
 
Nesse exemplo, a mensagem que queríamos exibir na tela foi primeiramente salva em uma string, e depois essa string foi enviada para a tela. Se você olhar bem, se você tivesse alocado um valor menor para <var>string1</var>, também ocorreria um estouro de buffer. Para evitar esse problema, existe a função <tt>snprintf</tt>, que tem mais um argumento: o tamanho da string (deve ser colocado depois da string onde a mensagem será gravada).
 
<source lang="c">
#include <stdio.h>
Linha 460 ⟶ 463:
return 0;
}
</source>
 
Nesse exemplo, usamos a função <tt>sscanf</tt> para interpretar os valores contidos na string e guardá-los nas variáveis numéricas.