📄 stdlib.h
字号:
#ifdef __USE_ISOC99/* Terminate the program with STATUS without calling any of the functions registered with `atexit' or `on_exit'. */extern void _Exit (int __status) __THROW __attribute__ ((__noreturn__));#endif/* Return the value of envariable NAME, or NULL if it doesn't exist. */extern char *getenv (__const char *__name) __THROW;/* This function is similar to the above but returns NULL if the programs is running with SUID or SGID enabled. */extern char *__secure_getenv (__const char *__name) __THROW;#if defined __USE_SVID || defined __USE_XOPEN/* The SVID says this is in <stdio.h>, but this seems a better place. *//* Put STRING, which is of the form "NAME=VALUE", in the environment. If there is no `=', remove NAME from the environment. */extern int putenv (char *__string) __THROW;#endif#if defined __USE_BSD || defined __USE_XOPEN2K/* Set NAME to VALUE in the environment. If REPLACE is nonzero, overwrite an existing value. */extern int setenv (__const char *__name, __const char *__value, int __replace) __THROW;/* Remove the variable NAME from the environment. */extern int unsetenv (__const char *__name) __THROW;#endif#ifdef __USE_MISC/* The `clearenv' was planned to be added to POSIX.1 but probably never made it. Nevertheless the POSIX.9 standard (POSIX bindings for Fortran 77) requires this function. */extern int clearenv (void) __THROW;#endif#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED/* Generate a unique temporary file name from TEMPLATE. The last six characters of TEMPLATE must be "XXXXXX"; they are replaced with a string that makes the file name unique. Returns TEMPLATE, or a null pointer if it cannot get a unique file name. */extern char *mktemp (char *__template) __THROW;/* Generate a unique temporary file name from TEMPLATE. The last six characters of TEMPLATE must be "XXXXXX"; they are replaced with a string that makes the filename unique. Returns a file descriptor open on the file for reading and writing, or -1 if it cannot create a uniquely-named file. */# ifndef __USE_FILE_OFFSET64extern int mkstemp (char *__template) __THROW;# else# ifdef __REDIRECTextern int __REDIRECT (mkstemp, (char *__template) __THROW, mkstemp64);# else# define mkstemp mkstemp64# endif# endif# ifdef __USE_LARGEFILE64extern int mkstemp64 (char *__template) __THROW;# endif#endif#ifdef __USE_BSD/* Create a unique temporary directory from TEMPLATE. The last six characters of TEMPLATE must be "XXXXXX"; they are replaced with a string that makes the directory name unique. Returns TEMPLATE, or a null pointer if it cannot get a unique name. The directory is created mode 700. */extern char *mkdtemp (char *__template) __THROW;#endif/* Execute the given line as a shell command. */extern int system (__const char *__command) __THROW;#ifdef __USE_GNU/* Return a malloc'd string containing the canonical absolute name of the named file. The last file name component need not exist, and may be a symlink to a nonexistent file. */extern char *canonicalize_file_name (__const char *__name) __THROW;#endif#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED/* Return the canonical absolute name of file NAME. The last file name component need not exist, and may be a symlink to a nonexistent file. If RESOLVED is null, the result is malloc'd; otherwise, if the canonical name is PATH_MAX chars or more, returns null with `errno' set to ENAMETOOLONG; if the name fits in fewer than PATH_MAX chars, returns the name in RESOLVED. */extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) __THROW;#endif/* Shorthand for type of comparison functions. */#ifndef __COMPAR_FN_T# define __COMPAR_FN_Ttypedef int (*__compar_fn_t) (__const void *, __const void *);# ifdef __USE_GNUtypedef __compar_fn_t comparison_fn_t;# endif#endif/* Do a binary search for KEY in BASE, which consists of NMEMB elements of SIZE bytes each, using COMPAR to perform the comparisons. */extern void *bsearch (__const void *__key, __const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar);/* Sort NMEMB elements of BASE, of SIZE bytes each, using COMPAR to perform the comparisons. */extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar);/* Return the absolute value of X. */extern int abs (int __x) __THROW __attribute__ ((__const__));extern long int labs (long int __x) __THROW __attribute__ ((__const__));#ifdef __USE_ISOC99__extension__ extern long long int llabs (long long int __x) __THROW __attribute__ ((__const__));#endif/* Return the `div_t', `ldiv_t' or `lldiv_t' representation of the value of NUMER over DENOM. *//* GCC may have built-ins for these someday. */extern div_t div (int __numer, int __denom) __THROW __attribute__ ((__const__));extern ldiv_t ldiv (long int __numer, long int __denom) __THROW __attribute__ ((__const__));#ifdef __USE_ISOC99__extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) __THROW __attribute__ ((__const__));#endif#if defined __USE_SVID || defined __USE_XOPEN_EXTENDED/* Convert floating point numbers to strings. The returned values are valid only until another call to the same function. *//* Convert VALUE to a string with NDIGIT digits and return a pointer to this. Set *DECPT with the position of the decimal character and *SIGN with the sign of the number. */extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __THROW;/* Convert VALUE to a string rounded to NDIGIT decimal digits. Set *DECPT with the position of the decimal character and *SIGN with the sign of the number. */extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __THROW;/* If possible convert VALUE to a string with NDIGIT significant digits. Otherwise use exponential representation. The resulting string will be written to BUF. */extern char *gcvt (double __value, int __ndigit, char *__buf) __THROW;# ifdef __USE_MISC/* Long double versions of above functions. */extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __THROW;extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) __THROW;extern char *qgcvt (long double __value, int __ndigit, char *__buf) __THROW;/* Reentrant version of the functions above which provide their own buffers. */extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __THROW;extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __THROW;extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __THROW;extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) __THROW;# endif /* misc */#endif /* use MISC || use X/Open Unix *//* Return the length of the multibyte character in S, which is no longer than N. */extern int mblen (__const char *__s, size_t __n) __THROW;/* Return the length of the given multibyte character, putting its `wchar_t' representation in *PWC. */extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) __THROW;/* Put the multibyte character represented by WCHAR in S, returning its length. */extern int wctomb (char *__s, wchar_t __wchar) __THROW;/* Convert a multibyte string to a wide char string. */extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) __THROW;/* Convert a wide char string to multibyte string. */extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) __THROW;#ifdef __USE_SVID/* Determine whether the string value of RESPONSE matches the affirmation or negative response expression as specified by the LC_MESSAGES category in the program's current locale. Returns 1 if affirmative, 0 if negative, and -1 if not matching. */extern int rpmatch (__const char *__response) __THROW;#endif#ifdef __USE_XOPEN_EXTENDED/* Parse comma separated suboption from *OPTIONP and match against strings in TOKENS. If found return index and set *VALUEP to optional value introduced by an equal sign. If the suboption is not part of TOKENS return in *VALUEP beginning of unknown suboption. On exit *OPTIONP is set to the beginning of the next token or at the terminating NUL character. */extern int getsubopt (char **__restrict __optionp, char *__const *__restrict __tokens, char **__restrict __valuep) __THROW;#endif#ifdef __USE_XOPEN/* Setup DES tables according KEY. */extern void setkey (__const char *__key) __THROW;#endif/* X/Open pseudo terminal handling. */#ifdef __USE_XOPEN2K/* Return a master pseudo-terminal handle. */extern int posix_openpt (int __oflag) __THROW;#endif#ifdef __USE_XOPEN/* The next four functions all take a master pseudo-tty fd and perform an operation on the associated slave: *//* Chown the slave to the calling user. */extern int grantpt (int __fd) __THROW;/* Release an internal lock so the slave can be opened. Call after grantpt(). */extern int unlockpt (int __fd) __THROW;/* Return the pathname of the pseudo terminal slave assoicated with the master FD is open on, or NULL on errors. The returned storage is good until the next call to this function. */extern char *ptsname (int __fd) __THROW;#endif#ifdef __USE_GNU/* Store at most BUFLEN characters of the pathname of the slave pseudo terminal associated with the master FD is open on in BUF. Return 0 on success, otherwise an error number. */extern int ptsname_r (int __fd, char *__buf, size_t __buflen) __THROW;/* Open a master pseudo terminal and return its file descriptor. */extern int getpt (void) __THROW;#endif#ifdef __USE_BSD/* Put the 1 minute, 5 minute and 15 minute load averages into the first NELEM elements of LOADAVG. Return the number written (never more than three, but may be less than NELEM), or -1 if an error occurred. */extern int getloadavg (double __loadavg[], int __nelem) __THROW;#endif#endif /* don't just need malloc and calloc */#undef __need_malloc_and_calloc__END_DECLS#endif /* stdlib.h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -