• 几个书本上不常见到的C语言函数


    函数名称:getcwd
    #include <unistd.h>
    char *getcwd(char *buf, size_t size);
    作用:把当前目录的绝对地址保存到 buf 中,buf 的大小为 size。如果 size太小无法保存该地址,返回 NULL 并设置 errno 为 ERANGE。可以采取令 buf 为 NULL并使 size 为负值来使 getcwd 调用 malloc 动态给 buf 分配,但是这种情况要特别注意使用后释放缓冲以防止内存泄漏。
    程序例如果在程序运行的过程中,目录被删除(EINVAL错误)或者有关权限发生了变化(EACCESS错误),getcwd也可能会返回NULL。
     
    函数名: getenv
    功 能: 从环境中取字符串,获取环境变量的值
    头文件: stdlib.h
    用 法:char *getenv(char *envvar);
    函数说明:getenv()用来取得参数envvar环境变量的内容。参数envvar为环境变量的名称,如果该变量存在则会返回指向该内容的指针。环境变量的格式为envvar=value。getenv函数的返回值存储在一个全局二维数组里,当你再次使用getenv函数时不用担心会覆盖上次的调用结果。
    返回值: 执行成功则返回指向该内容的指针,找不到符合的环境变量名称则返回NULL。如果变量存在但无关联值,它将运行成功并返回一个空字符串,即该字符的第一个字节是null。
     
    函数名:strchr
    函数原型:extern char *strchr(char *str,char character)

    参数说明:str为一个字符串的指针,character为一个待查找字符

            

     

    所在库名:#include <string.h>

      

     

    函数功能:从字符串str中寻找字符character第一次出现的位置。

      

     

    返回说明:返回指向第一次出现字符character位置的指针,如果没找到则返回NULL。

     

    其它说明:还有一种格式char *strchr( const char *string, int c ),这里字符串是以int型给出的。

     

     

     

     

    函数名:read()
    定义函数
    ssize_t read[1] (int fd, void *buf, size_t count)
    返回值
    成功返回读取的字节数,出错返回-1并设置errno,如果在调read之前已到达文件末尾,则这次read返回0
    参数
    参数count是请求读取的字节数,读上来的数据保存在缓冲区buf中,同时文件的当前读写位置向后移。注意这个读写位置和使用C标准I/O库时的读写位置有可能不同,这个读写位置是记在内核中的,而使用C标准I/O库时的读写位置是用户空间I/O缓冲区中的位置。比如用fgetc读一个字节,fgetc有可能从内核中预读1024个字节到I/O缓冲区中,再返回第一个字节,这时该文件在内核中记录的读写位置是1024,而在FILE结构体中记录的读写位置是1。注意返回值类型是ssize_t,表示有符号的size_t,这样既可以返回正的字节数、0(表示到达文件末尾)也可以返回负值-1(表示出错)。
    read函数返回时,返回值说明了buf中前多少个字节是刚读上来的。有些情况下,实际读到的字节数(返回值)会小于请求读的字节数count,例如:读常规文件时,在读到count个字节之前已到达文件末尾。例如,距文件末尾还有30个字节而请求读100个字节,则read返回30,下次read将返回0。
    相关函数
    open,close,lseek,fread,
     
     
     
     
  • 相关阅读:
    miragejs 学习
    json-server学习
    react-redux
    webpack4知识汇总2
    webpack4知识汇总1
    vue跳转当前页面
    redux初识
    react知识补漏2
    vue ssr
    状态码
  • 原文地址:https://www.cnblogs.com/sexybear/p/4496050.html
Copyright © 2020-2023  润新知