zoukankan      html  css  js  c++  java
  • C语言中常用的库函数

    1.      内存操作

    1)         内存设置

    函数原型

    void *memset(void *point, char value, unsigned Length)

    函数功能

    将point所指向的内存空间的前Length个字节设置为value值。

    参数介绍

    point: 指向缓存首地址

    value: 需要设置的数值

    Length: 设置缓存的字节个数

    返回值

    返回point.

    头文件

    <memory.h> or <string.h>

    2)         内存拷贝

    函数原型

    void *memcpy(void *dest, void *src, unsigned int size)

    函数功能

    拷贝数据:由src指向地址为起始地址的连续size个字节的数据复制到以dest指向地址为起始地址的空间内;destsrc所指的内存区域不能重叠。 重叠和不可重叠见 后面的随笔 memmove介绍.

    参数介绍

    dest: 目的指针

    src:  源操作数指针

    size:  需要拷贝的字节数

    返回值

    返回dest.

    头文件

    <memory.h> or <string.h>

    3)         内存比对

    函数原型

    int memcmp(void *buf1, void *buf2, unsigned int size)

    函数功能

    比较内存区域buf1和buf2的前size个字节。

    参数介绍

    buf1: 内存区域

    buf2: 内存区域

    size:  需要比较的字节数

    返回值

    返回比较的结果:

      当buf1<buf2时,返回<0

      当buf1=buf2时,返回=0

      当buf1>buf2时,返回>0

    头文件

    <memory.h> or <string.h>

     

    4)         内存分配

    函数原型

    void *malloc(unsigned int Length)

    函数功能

    申请内存。

    参数介绍

    Length:申请内存空间的长度

    返回值

    返回所申请内存的首地址。

    头文件

    <stdlib.h> and <malloc.h>

    5)         内存释放

    函数原型

    void free(void *point)

    函数功能

    释放内存。

    参数介绍

    point:内存首地址。

    返回值

    头文件

    <stdlib.h> and <malloc.h>

    2.      字符串操作

    6)         将字符串转换为长整型数

    函数原型

    long strtol(const char *nptr, char **endptr, int base)

    函数功能

      以某种进制的方式将字符串转换为长整型数。strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。

    参数介绍

    nptr:字符串首地址。

     

    endptr:若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。(传值时可用NULL代替)

     

    base:代表所采用的二进制数,如0、2、8、10、16等,采用0时,代表十进制数。

    返回值

    为长整型数。

    头文件

    <stdlib.h>

    7)         将字符串转换为无符号长整型数

    函数原型

    long strtoul(const char *nptr, char **endptr, int base)

    函数功能

      以某种进制的方式将字符串转换为长整型数。strtoul()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。

    参数介绍

    nptr:字符串首地址。

     

    endptr:若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。(传值时可用NULL代替)

     

    base:代表所采用的二进制数,如0、2、8、10、16等,采用0时,代表十进制数。

    返回值

    为无符号长整型数。

    头文件

    <stdlib.h>

     

    8)         查找字符串S中首次出现字符C的位置

    函数原型

    char *strchr(const char *s, char c)

    函数功能

      查找字符串s中首次出现字符c的位置;返回首次出现c的位置

    的指针,如果s中不存在c则返回NULL。

    参数介绍

    s:字符串首地址。

    c:所要查找的字符。

    返回值

    返回首次出现字符c的位置的指针。

    头文件

    <string.h>

     

    9)         查找字符串haystack中首次出现字符串needle的位置 

    函数原型

    char *strstr(char *haystack, char *needle)

    函数功能

      查找字符串haystack中首次出现字符串needle的位置;返回首次出现字符串

    needle的位置的指针,如果haystack中不存在字符串needle则返回NULL。

    参数介绍

    haystack:字符串首地址。

    needle:所要查找的字符串。

    返回值

    返回首次出现字符串needle的位置的指针。

    头文件

    <string.h>

    10)         strdup复制字符串  

    函数原型

    char *strdup(char *s)

    函数功能

    复制字符串s

    参数介绍

    s:被复制的字符串的首地址。

    返回值

    返回指向被复制的字符串的指针,所需空间由malloc()分配且可以由free()释放。

    头文件

    <string.h>

     

  • 相关阅读:
    LA 2038 Strategic game(最小点覆盖,树形dp,二分匹配)
    UVA 10564 Paths through the Hourglass(背包)
    Codeforces Round #323 (Div. 2) D 582B Once Again...(快速幂)
    UVALive 3530 Martian Mining(贪心,dp)
    UVALive 4727 Jump(约瑟夫环,递推)
    UVALive 4731 Cellular Network(贪心,dp)
    UVA Mega Man's Mission(状压dp)
    Aizu 2456 Usoperanto (贪心)
    UVA 11404 Plalidromic Subsquence (回文子序列,LCS)
    Aizu 2304 Reverse Roads(无向流)
  • 原文地址:https://www.cnblogs.com/xiehy/p/1662602.html
Copyright © 2011-2022 走看看