zoukankan      html  css  js  c++  java
  • C Standard Library:5 Utility Functions: <stdlib.h>

    5 Utility Functions: <stdlib.h>

    The header <stdlib.h> declares functions for number conversion, storage allocation, and
    similar tasks.

    double atof(const char *s)
    atof converts s to double; it is equivalent to strtod(s, (char**)NULL).


    int atoi(const char *s)
    converts s to int; it is equivalent to (int)strtol(s, (char**)NULL, 10).


    long atol(const char *s)
    converts s to long; it is equivalent to strtol(s, (char**)NULL, 10).


    double strtod(const char *s, char **endp)
    strtod converts the prefix of s to double, ignoring leading white space; it stores a
    pointer to any unconverted suffix in *endp unless endp is NULL. If the answer would
    overflow, HUGE_VAL is returned with the proper sign; if the answer would underflow,
    zero is returned. In either case errno is set to ERANGE.


    long strtol(const char *s, char **endp, int base)
    strtol converts the prefix of s to long, ignoring leading white space; it stores a
    pointer to any unconverted suffix in *endp unless endp is NULL. If base is between 2
    and 36, conversion is done assuming that the input is written in that base. If base is
    zero, the base is 8, 10, or 16; leading 0 implies octal and leading 0x or 0X hexadecimal.

    Letters in either case represent digits from 10 to base-1; a leading 0x or 0X is
    permitted in base 16. If the answer would overflow, LONG_MAX or LONG_MIN is
    returned, depending on the sign of the result, and errno is set to ERANGE.


    unsigned long strtoul(const char *s, char **endp, int base)
    strtoul is the same as strtol except that the result is unsigned long and the error value is ULONG_MAX.


    int rand(void)
    rand returns a pseudo-random integer in the range 0 to RAND_MAX, which is at least 32767.


    void srand(unsigned int seed)
    srand uses seed as the seed for a new sequence of pseudo-random numbers. The
    initial seed is 1.


    void *calloc(size_t nobj, size_t size)
    calloc returns a pointer to space for an array of nobj objects, each of size size, or
    NULL if the request cannot be satisfied. The space is initialized to zero bytes.


    void *malloc(size_t size)
    malloc returns a pointer to space for an object of size size, or NULL if the request
    cannot be satisfied. The space is uninitialized.


    void *realloc(void *p, size_t size)
    realloc changes the size of the object pointed to by p to size. The contents will be
    unchanged up to the minimum of the old and new sizes. If the new size is larger, the
    new space is uninitialized. realloc returns a pointer to the new space, or NULL if the
    request cannot be satisfied, in which case *p is unchanged.


    void free(void *p)
    free deallocates the space pointed to by p; it does nothing if p is NULL. p must be a
    pointer to space previously allocated by calloc, malloc, or realloc.


    void abort(void)
    abort causes the program to terminate abnormally, as if by raise(SIGABRT).


    void exit(int status)
    exit causes normal program termination. atexit functions are called in reverse order
    of registration, open files are flushed, open streams are closed, and control is returned
    to the environment. How status is returned to the environment is implementationdependent,
    but zero is taken as successful termination. The values EXIT_SUCCESS and
    EXIT_FAILURE may also be used.


    int atexit(void (*fcn)(void))
    atexit registers the function fcn to be called when the program terminates normally;
    it returns non-zero if the registration cannot be made.


    int system(const char *s)
    system passes the string s to the environment for execution. If s is NULL, system
    returns non-zero if there is a command processor. If s is not NULL, the return value is
    implementation-dependent.


    char *getenv(const char *name)
    getenv returns the environment string associated with name, or NULL if no string exists.
    Details are implementation-dependent.


    void *bsearch(const void *key, const void *base,size_t n, size_t size,int (*cmp)(const void *keyval, const void *datum))
    bsearch searches base[0]...base[n-1] for an item that matches *key. The function
    cmp must return negative if its first argument (the search key) is less than its second (a
    table entry), zero if equal, and positive if greater. Items in the array base must be in
    ascending order. bsearch returns a pointer to a matching item, or NULL if none exists.


    void qsort(void *base, size_t n, size_t size,int (*cmp)(const void *, const void *))
    qsort sorts into ascending order an array base[0]...base[n-1] of objects of size
    size. The comparison function cmp is as in bsearch.


    int abs(int n)
    abs returns the absolute value of its int argument.


    long labs(long n)
    labs returns the absolute value of its long argument.


    div_t div(int num, int denom)
    div computes the quotient and remainder of num/denom. The results are stored in the
    int members quot and rem of a structure of type div_t.


    ldiv_t ldiv(long num, long denom)
    ldiv computes the quotient and remainder of num/denom. The results are stored in the
    long members quot and rem of a structure of type ldiv_t.

  • 相关阅读:
    垂直margin为什么会重叠
    forEach()和for/in循环的缺点与for-of循环
    使用CleanWebpackPlugin插件报错原因:CleanWebpackPlugin is not a constructor
    Vue中常用的组件库
    Vue中使用keep-alive优化网页性能
    Vue中router路由异步加载组件-优化性能
    面试题-JS中的作用域相关问题
    JS中的垃圾回收机制
    【转】 SpringMVC详解(三)------基于注解的入门实例
    【转】 SpringMVC详解(二)------详细架构
  • 原文地址:https://www.cnblogs.com/freewater/p/2972991.html
Copyright © 2011-2022 走看看