abort()

停止程序执行

assert()

当表达式非真,停止程序执行

atexit()

当程序退出执行设定的程序

bsearch()

执行折半查找

exit()

停止程序执行

getenv()

获取指定环境变量的值

longjmp()

从设定点执行程序

qsort()

执行快速排序

raise()

向程序发送信号

rand()

返回一个随机数

setjmp()

设置程序执行点

signal()

将某函数设置成一个信号句柄

srand()

初始化随机数发生源

system()

执行系统调用

va_arg()

使用可变长度参数列表


abort

语法:

   #include <stdlib.h>  void abort( void );

功能: 终止程序的执行。返回值依赖于执行,可以通过返回值显示错误。

相关主题:
exit() and atexit().


assert

语法:

   #include
<assert.h>
  void assert( int exp
);

功能:
宏assert()用于错误检测。如果表达式的结果为零,宏写错误信息到STDERR并退出程序执行。如果宏NDEBUG已经定义,宏assert()将被忽略。

相关主题:
abort()


atexit

语法:

   #include
<stdlib.h>
  int atexit( void (*func)(void)
);

功能:
当程序终止执行时,函数调用函数指针func所指向的函数。可以执行多重调用(至少32个),这些函数以其注册的倒序执行。执行成功返回零值,失败则返回非零值。

相关主题:
exit() and abort().


bsearch

语法:

   #include
<stdlib.h>
  void *bsearch( const void *key, const void
*buf, size_t num, size_t size, int (*compare)(const void *, const void *)
);

功能:
函数用折半查找法在从数组元素buf[0]到buf[num-1]
匹配参数key。如果函数compare
的第一个参数小于第二个参数,返回负值;如果等于返回零值;如果大于返回正值。数组buf
中的元素应以升序排列。函数bsearch()的返回值是指向匹配项,如果没有发现匹配项,返回NULL。

相关主题:
qsort().


exit

语法:

   #include
<stdlib.h>
  void exit( int exit_code
);

功能:终止程序的执行。参数exit_code
传递给返回值,通常零值表示正常结束,非零值表示应错误返回。

相关主题:
atexit() and abort().


getenv

语法:

   #include
<stdlib.h>
  char *getenv( const char *name
);

功能:
函数返回环境变量name的值,非常依赖执行情况。如果无对应的环境变量name返回NULL。

相关主题:
system().


longjmp

语法:

   #include
<setjmp.h>
  void longjmp( jmp_buf envbuf, int status
);

功能:
函数使程序从前次对setjmp()的调用处继续执行。参数envbuf一般通过调用setjmp()设定。参数status
setjmp()的返回值,用来指示不同地点longjmp()的执行.
status 不能设定为零。

相关主题:
setjmp().


qsort

语法:

   #include
<stdlib.h>
  void qsort( void *buf, size_t num, size_t
size, int (*compare)(const void *, const void *)
);

功能:
buf
指向的数据(包含num
项,每项的大小为size)进行快速排序。如果函数compare
的第一个参数小于第二个参数,返回负值;如果等于返回零值;如果大于返回正值。函数对buf
指向的数据按升序排序。

相关主题:
bsearch().


raise

语法:

   #include
<signal.h>
  int raise( int signal
);

功能:
函数对程序发送指定的信号signal.
一些信号:

信号

含义

SIGABRT

终止错误

SIGFPE

浮点错误

SIGILL

无效指令

SIGINT

用户输入

SIGSEGV

非法内存存取

SIGTERM

终止程序

返回零值为成功,非零为失败。

相关主题:
signal()


rand

语法:

   #include
<stdlib.h>
  int rand( void
);

功能:
函数返回一个在零到RAND_MAX
之间的伪随机整数。例如:    srand( time(NULL)
);
    for( i = 0; i < 10; i++
)
      printf( "Random number #%d: %d\n", i,
rand() );

相关主题:
srand()


setjmp

语法:

   #include
<setjmp.h>
  int setjmp( jmp_buf envbuf
);

功能:
函数将系统栈保存于envbuf中,以供以后调用longjmp()。当第一次调用setjmp(),它的返回值为零。之后调用longjmp(),longjmp()的第二个参数即为setjmp()的返回值。是否有点疑问?请参阅longjmp().

相关主题:
longjmp()


signal

语法:

   #include
<signal.h>
  void ( *signal( int signal, void (* func)
(int)) )
(int);

功能:
当函数收到参数signal所表示的信号,参数func
所指向的函数即被调用。func
可以被定制为信号句柄或以下的宏(定义在signal.h中):

解释

SIG_DFL

默认信号处理

SIG_IGN

忽略信号

signal()返回先前为信号定义的函数地址,当错误发生返回SIG_ERR。


srand

语法:

   #include
<stdlib.h>
  void srand( unsigned seed
);

功能:
设置rand()随机序列种子。对于给定的种子seed,
rand()会反复产生特定的随机序列。
    srand( time(NULL)
);
    for( i = 0; i < 10; i++
)
      printf( "Random number #%d: %d\n", i,
rand() );

相关主题:
rand(), time().


system

语法:

   #include
<stdlib.h>
  int system( const char *command
);

功能:
函数返回给定的命令字符串command
进行系统调用。如果命令执行正确通常返回零值。如果command

NULL, system()将尝试是否有可用的命令解释器。
如果有返回非零值,否则返回零值。

相关主题:
exit(),


va_arg

语法:

   #include
<stdarg.h>
  type va_arg( va_list argptr, type
);
  void va_end( va_list argptr
);
  void va_start( va_list argptr, last_parm
);

功能:
宏va_arg()用于给函数传递可变长度的参数列表。

  1. 首先,必须调用va_start() 传递有效的参数列表va_list和函数强制的第一个参数。第一个参数代表将要传递的参数的个数。
  2. 其次,调用va_arg()传递参数列表va_list 和将被返回的参数的类型。va_arg()的返回值是当前的参数。
  3. 再次,对所有的参数重复调用va_arg()
  4. 最后,调用va_end()传递va_list对完成后的清除是必须的。

For example:

int sum( int, ... );

int main( void )
{

int answer = sum( 4, 4, 3, 2, 1 );

printf( "The answer is %d\n", answer );

return( 0 );

}

int sum( int num, ... ) {

int answer = 0;

va_list argptr;

va_start( argptr, num );

for( ; num > 0; num-- )

answer += va_arg( argptr, int );

va_end( argptr );

return( answer );

}

这段代码显示10,他们是4+3+2+1。

C++ 第十二课 其它标准C函数的更多相关文章

  1. NeHe OpenGL教程 第四十二课:多重视口

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  2. Kali Linux Web 渗透测试— 第十二课-websploit

    Kali Linux Web 渗透测试— 第十二课-websploit 文/玄魂 目录 Kali Linux Web 渗透测试— 第十二课-websploit..................... ...

  3. NeHe OpenGL教程 第三十二课:拾取游戏

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  4. NeHe OpenGL教程 第二十二课:凹凸映射

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  5. NeHe OpenGL教程 第十二课:显示列表

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  6. python 教程 第十二章、 标准库

    第十二章. 标准库 See Python Manuals ? The Python Standard Library ? 1)    sys模块 import sys if len(sys.argv) ...

  7. 斯坦福第十二课:支持向量机(Support Vector Machines)

    12.1  优化目标 12.2  大边界的直观理解 12.3  数学背后的大边界分类(可选) 12.4  核函数 1 12.5  核函数 2 12.6  使用支持向量机 12.1  优化目标 到目前为 ...

  8. 如何用three.js(webgl)搭建3D粮仓、3D仓库、3D物联网设备监控-第十二课

    序: 最近因为疫情,居家办公,索性翻翻之前的项目案例,总结总结. 这次疫情,深圳停摆,群众也挺恐慌的,封闭前一天,超市被抢购一空,虽然官方媒体一再强调,材米油盐蔬菜肉类管够,但是任然挡不住群众们的抢购 ...

  9. 第三十二课:JSDeferred的性能提速

    大家如果看了前面两课,就知道Deferred的静态方法next(next_default)是用setTimeout实现的(有浏览器最小时钟间隔).但是实现这种异步操作,可以有很多种方法.JSDefer ...

随机推荐

  1. 每天定时备份mysql数据库任务

    需求: 1,每天4点备份mysql数据: 2,为节省空间,删除超过3个月的所有备份数据: 3,删除超过7天的备份数据,保留3个月里的 10号 20号 30号的备份数据: #创建shell文件 vim ...

  2. 斯巴达克斯血与沙第一季/全集Spartacus迅雷下载

    斯巴达克斯血与沙 第一季Spartacus 1(2010) 本季看点:剧集讲述斯巴达克斯从奴隶变成英雄的血泪辛酸史.被罗马人背叛,流放成奴隶,变为角斗士--这一段罗马共和国历史上最富盛名的传奇故事无人 ...

  3. 无需SherlockActionbar的SlidingMenu使用详解(二)——向Fragment中添加ViewPager和Tab

    之前我们对大体框架有了一定的认识,现在我们来做Fragment界面,其实这里面和这个框架的关系就不大了,但因为有些同学对于在SlidingMenu中切换fragment还是有问题,所以我就在本篇进行详 ...

  4. Prometheus 初体验

    本文环境 Redhat Linux 6.7, Prometheus 2.2.1,node_exporter 1.5.2 介绍 Prometheus 是2012年由 SoundCloud 开源的系统监控 ...

  5. Orchard模块开发全接触6:自定义用户注册

    我们都知道 Orchard 的用户注册相当简单,现在,我们需要一个自定义的用户注册,现在,开始吧. 一:定义实体 Models/CustomerPartRecord.cs: public class ...

  6. .Net Standard简介

    .NET Standard 是一套正式的 .NET API 规范,有望在所有 .NET 运行时中推出. 推出 .NET Standard 的背后动机是要提高 .NET 生态系统中的一致性. ECMA ...

  7. Mock 模拟测试简介及 Mockito 使用入门

    Mock 是什么mock 测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法.这个虚拟的对象就是mock对象.mock对象就是真实对象在调试期间的代 ...

  8. PHP Curl transfer closed with outstanding read data remaining

    php transfer closed with outstanding read data remaining php curl CURLOPT_HTTPHEADER php curl 报错 tra ...

  9. ptime概述

    官方给出的ptime的定义是:ptime gives the length of time in milliseconds represented by themedia in a packet.简单 ...

  10. Chart/Report资源目录

    ylbtech-Chart:Chart/Report资源目录 1.Chart.js返回顶部 1-0.官网 http://www.chartjs.org 1-1.实例 http://www.chartj ...