En este artículo, explicaremos la sintaxis, los parámetros, los valores de retorno y el funcionamiento de snprintf () función en c++. Se puede encontrar una comprensión completa de snprintf () En esta guía.
¿Qué es snprintf () en c?++
Cª++, snprintf () es una función utilizada para formatear o almacenar una serie de valores de caracteres y cadenas escritos en el búfer. Funciona de manera similar a sprintf () función pero tiene la capacidad de superar los desbordamientos del búfer. El El archivo de encabezado incluye el snprint () función y debe declararse si desea usar la función en su programa. El snprintf () La función especifica el contenido máximo que el búfer podría tener.
La siguiente es la sintaxis para usar snprintf () función en c ++:
snprintf (char* buffer, size_t buf_size, const char* format, ...);
Una vez que se han escrito los personajes, se inserta un carácter nulo final. Si max_bufsize es cero, no se almacena nada y el búfer puede actuar como un puntero nulo.
Parámetros de snprintf ()
Los siguientes son los parámetros utilizados en snprintf () función.
Debe haber un mínimo de tantos parámetros de estos como valores de formato especificadores. La función ignora cualquier argumento adicional.
¿Qué devuelve snprintf ()?
Si la función es exitosa, devuelve el número de caracteres que se considerarían escritos para un búfer adecuadamente grande, excluyendo un carácter nulo terminado. Cuando falla, produce un valor negativo. La salida se considerará completamente escrita si y solo si un valor que se devuelve no es negativo y es más pequeño que max_bufsize.
Cómo usar snprintf () en c++
Aquí hay un ejemplo de usar snprintf () en c ++:
Ejemplo
#incluir
#incluir
usando el espacio de nombres STD;
int main ()
char buff_size [60];
int retrot_value, max_bufsize = 60;
char str [] = "Linuxhint";
INT Artículos = 45;
return_value = snprintf (buff_size, max_bufsize, "Hello %s Usuarios, leemos %d artículos sobre bash", str, artículos);
if (return_value> 0 && return_value < MAX_BUFSIZE)
cout << buff_size << endl;
cout << "Number of characters written = " << return_Value << endl;
demás
cout << "Error writing to buffer" << endl;
regresar 0;
En el código anterior, establecemos el tamaño máximo del búfer en 60. Significa que el código aceptará caracteres no más de 60. Hemos usado el snprintf () función para emitir una cadena que tenga 56 caracteres y se mostrará en el terminal de salida. En caso de que sus caracteres ingresados tengan más de 60 años, el programa a través de un error.
Conclusión
Hemos demostrado el prototipo, los parámetros, los valores de retorno y el funcionamiento de la C++ snprintf () función que escribe una cadena formateada en un búfer de cadena de caracteres. Describimos un ejemplo con una comprensión completa de snprintf () En esta guía.