一、string.h

1.memcpy

函数原型:void *memcpy(void *dest, const void *src, size_t n);

功能:从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中

返回值:函数返回dest的值。

二、stdio.h

1.ferror

函数原型: int ferror(FILE *stream);

功 能: 在调用各种输入输出函数(如 putc.getc.fread.fwrite等)时,如果出现错误,除了函数返回值有所反映外,还可以用ferror函数检查。 它的一般调用形式为 ferror(fp);

返回值:如果ferror返回值为0(假),表示未出错。如果返回一个非零值,表示出错。应该注意,对同一个文件 每一次调用输入输出函数,均产生一个新的ferror函 数值,因此,应当在调用一个输入输出函数后立即检 查ferror函数的值,否则信息会丢失。在执行fopen函数时,ferror函数的初始值自动置为0。

三、unistd.h

1.fork

函数原型:pid_t fork( void);

功能:一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进程被称为子进程(child process)。子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的是上述存储空间的“副本”,这意味着父子进程间不共享这些存储空间。

返回值:若成功调用一次则返回两个值,子进程返回0,父进程返回子进程ID;否则,出错返回-1。

2.execlp

函数原型:int execlp(const char * file,const char * arg,...,(char *)0);

功能:execlp()会从PATH 环境变量所指的目录中查找符合参数file的文件名,找到后便执行该文件,然后将第二个以后的参数当做该文件的argv[0]、argv[1]……,最后一个参数必须用空指针(NULL)作结束。如果用常数0来表示一个空指针,则必须将它强制转换为一个字符指针,否则将它解释为整形参数,如果一个整形数的长度与char * 的长度不同,那么exec函数的实际参数就将出错。如果函数调用成功,进程自己的执行代码就会变成加载程序的代码,execlp()后边的代码也就不会执行了.

返回值:如果执行成功则函数不会返回,执行失败则直接返回-1,失败原因存于errno 中。

四、signal.h

函数原型:sig_t signal(int signum,sig_t handler);

功能:第一个参数signum指明了所要处理的信号类型,它可以取除了SIGKILL和SIGSTOP外的任何一种信号。

第二个参数handler描述了与信号关联的动作,它可以取以下三种值:
(1)一个无返回值的函数地址
此函数必须在signal()被调用前申明,handler中为这个函数的名字。当接收到一个类型为sig的信号时,就执行handler 所指定的函数。这个函数应有如下形式的定义:
void func(int sig);
sig是传递给它的唯一参数。执行了signal()调用后,进程只要接收到类型为sig的信号,不管其正在执行程序的哪一部分,就立即执行func()函数。当func()函数执行结束后,控制权返回进程被中断的那一点继续执行。
(2)SIG_IGN
这个符号表示忽略该信号,执行了相应的signal()调用后,进程会忽略类型为sig的信号。
(3)SIG_DFL
这个符号表示恢复系统对信号的默认处理。
signal()会依参数signum 指定的信号编号来设置该信号的处理函数。当指定的信号到达时就会跳转到参数handler指定的函数执行。当一个信号的信号处理函数执行时,如果进程又接收到了该信号,该信号会自动被储存而不会中断信号处理函数的执行,直到信号处理函数执行完毕再重新调用相应的处理函数。但是如果在信号处理函数执行时进程收到了其它类型的信号,该函数的执行就会被中断。
返回值:返回先前的信号处理
函数指针,如果有错误则返回SIG_ERR(-1)。

最新文章

  1. IOCP Internals
  2. Java:多线程<三>死锁、线程间通讯
  3. DDD开发框架ABP之导航菜单
  4. iOS 开发 中级:UIToolbar,UINavigationBar,UITabBar,UIBarButtonItem,UITabBarItem自定义方法总结
  5. Cocos2d-android (04) 执行多个动作
  6. Java IO6 :IO总结
  7. iOS 中多线程的简单使用
  8. jxl创Excel档java示例代码说明
  9. CDN(转载)
  10. CodeForces 590A Median Smoothing
  11. ReactJS入门:展示数据
  12. Asp.Net Core轻量级Aop解决方案:AspectCore
  13. LINUX下C语言编程调用函数、链接头文件以及库文件
  14. JAVA提高三:反射总结
  15. 终于理解kalman滤波
  16. 2017 Gartner数据科学魔力象限出炉,16位上榜公司花落谁家?
  17. 浅谈 Nginx 的内部核心架构设计
  18. UTF8与std:string互转
  19. MYSQL的存储过程和函数简单写法
  20. scylladb docker 运行试用

热门文章

  1. 数据库中的记录通过servlet回显到jsp页面中(连接数据库或者查询參照:对数据进行增删改查)
  2. idmap_ad — Samba's idmap_ad Backend for Winbind《转载》
  3. android调试系列--使用ida pro调试原生程序
  4. Lucene文件扩展名
  5. SpringMVC中用@ParamVariable传递的参数包含斜杠(/)时,匹配不了报404错误的解决方案
  6. Spring 之 注解实现返回json
  7. UVA10562 数据结构题目
  8. hdu 素数环
  9. (原创) ubuntu 12.04 install nvidia by the deb
  10. Bootstrap学习笔记(未整理)