Neste artigo, explicaremos a sintaxe, os parâmetros, os valores de retorno e o trabalho de snprintf () função em c++. Pode -se encontrar um entendimento completo de snprintf () Neste guia.
O que é snprintf () em c++
Em c++, snprintf () é uma função usada para formatar ou armazenar uma série de valores de personagem e string escritos no buffer. Funciona de maneira semelhante a sprintf () função, mas tem a capacidade de superar os transbordamentos de buffer. O O arquivo de cabeçalho inclui o Snprint () função e deve ser declarado se você quiser usar a função em seu programa. O snprintf () função especifica o conteúdo máximo que o buffer poderia ter.
O dado abaixo é a sintaxe para usar snprintf () função em c ++:
snprintf (char* buffer, size_t buf_size, const char* formato,…);
Depois que os personagens foram escritos, um caráter nulo final é inserido. Se Max_bufsize for zero, nada é armazenado e o buffer pode atuar como um ponteiro nulo.
Parâmetros de Snprintf ()
A seguir estão os parâmetros usados em snprintf () função.
Deve haver um mínimo de tantos desses parâmetros que existem valores do especificador de formato. A função ignora qualquer argumento adicional.
O que Snprintf () retorna
Se a função for bem -sucedida, ele retornará o número de caracteres que seriam considerados escritos para um buffer apropriadamente grande, excluindo um caractere nulo terminal. Quando falha, produz um valor negativo. A saída será considerada completamente escrita se e somente se um valor que for retornado não for negativo e for menor que o max_bufsize.
Como usar snprintf () em c++
Aqui está um exemplo de uso de snprintf () em c ++:
Exemplo
#incluir
#incluir
usando namespace std;
int main ()
char buff_size [60];
int return_value, max_bufsize = 60;
char str [] = "linuxhint";
int artigos = 45;
return_value = snprintf (buff_size, max_bufsize, "Hello %s Usuários, vamos ler os artigos de %d sobre Bash", str, artigos);
if (return_value> 0 && return_value < MAX_BUFSIZE)
cout << buff_size << endl;
cout << "Number of characters written = " << return_Value << endl;
outro
cout << "Error writing to buffer" << endl;
retornar 0;
No código acima, definimos o tamanho máximo do buffer para 60. Isso significa que o código aceitará caracteres não mais de 60. Nós usamos o snprintf () Função para produzir uma string com 56 caracteres e será exibida no terminal de saída. Caso seus caracteres inseridos sejam superiores a 60, o programa através de um erro.
Conclusão
Demonstramos o protótipo, parâmetros, valores de retorno e trabalho do C++ snprintf () função que grava uma string formatada em um buffer de string de caracteres. Descrevemos um exemplo com um entendimento completo de snprintf () Neste guia.