printf.h

来自「MPI stands for the Message Passing Inter」· C头文件 代码 · 共 136 行

H
136
字号
/* * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana *                         University Research and Technology *                         Corporation.  All rights reserved. * Copyright (c) 2004-2005 The University of Tennessee and The University *                         of Tennessee Research Foundation.  All rights *                         reserved. * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,  *                         University of Stuttgart.  All rights reserved. * Copyright (c) 2004-2005 The Regents of the University of California. *                         All rights reserved. * $COPYRIGHT$ *  * Additional copyrights may follow *  * $HEADER$ *//** @file *  * Buffer safe printf functions for portability to archaic platforms. */#ifndef OPAL_PRINTF_H#define OPAL_PRINTF_H#include "opal_config.h"#include <stdarg.h>#include <stdlib.h>#if defined(c_plusplus) || defined(__cplusplus)extern "C" {#endif/** * Writes to a string under the control of a format string * that specifies how subsequent arguments are converted for output. * * @param str   Output string buffer * @param size  Size of string buffer * @param fmt   Output format * @return      Length of output string * * At most size-1 characters are printed into the output string (the * size'th character then gets the terminating `\0'); if the return * value is greater than or equal to the size argument, the string was * too short and some of the printed characters were discarded.  The * output is always null-terminated. * * Returns the number of characters that would have been printed if * the size were unlimited (again, not including the final `\0'). * * THIS IS A PORTABILITY FEATURE: USE snprintf() in CODE. */OPAL_DECLSPEC int  opal_snprintf(char *str, size_t size, const char *fmt, ...);/** * Writes to a string under the control of a format string that * specifies how arguments accessed via the variable-length argument * facilities of stdarg(3) are converted for output. * * @param str   Output string buffer * @param size  Size of string buffer * @param fmt   Output format * @param ap    Variable argument list pointer * @return      Length of output string * * At most size-1 characters are printed into the output string (the * size'th character then gets the terminating `\0'); if the return * value is greater than or equal to the size argument, the string was * too short and some of the printed characters were discarded.  The * output is always null-terminated. * * Returns the number of characters that would have been printed if * the size were unlimited (again, not including the final `\0'). * * THIS IS A PORTABILITY FEATURE: USE vsnprintf() in CODE. */OPAL_DECLSPEC int  opal_vsnprintf(char *str, size_t size, const char *fmt, va_list ap);/** * Allocates and writes to a string under the control of a format * string that specifies how subsequent arguments are converted for * output. * * @param *ptr  Pointer to utput string buffer * @param fmt   Output format * @return      Length of output string * * Sets *ptr to be a pointer to a buffer sufficiently large to hold * the formatted string.  This pointer should be passed to free(3) to * release the allocated storage when it is no longer needed.  If * sufficient space cannot be allocated, asprintf() and vasprintf() * will return -1 and set ret to be a NULL pointer. * * Returns the number of characters printed. * * THIS IS A PORTABILITY FEATURE: USE asprintf() in CODE. */OPAL_DECLSPEC int  opal_asprintf(char **ptr, const char *fmt, ...);/** * Allocates and writes to a string under the control of a format * string that specifies how arguments accessed via the * variable-length argument facilities of stdarg(3) are converted for * output. * * @param *ptr  Pointer to utput string buffer * @param fmt   Output format * @param ap    Variable argument list pointer * @return      Length of output string * * Sets *ptr to be a pointer to a buffer sufficiently large to hold * the formatted string.  This pointer should be passed to free(3) to * release the allocated storage when it is no longer needed.  If * sufficient space cannot be allocated, asprintf() and vasprintf() * will return -1 and set ret to be a NULL pointer. * * Returns the number of characters printed. * * THIS IS A PORTABILITY FEATURE: USE vasprintf() in CODE. */OPAL_DECLSPEC int  opal_vasprintf(char **ptr, const char *fmt, va_list ap);#if defined(c_plusplus) || defined(__cplusplus)}#endif#endif /* OPAL_PRINTF_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?