其他标准c函数
优质
小牛编辑
125浏览
2023-12-01
其他标准c函数 -> Details |
其他标准c函数
abort
语法:
#include <stdlib.h> void abort( void ); |
相关主题:
exit() and atexit().
assert
语法:
#include <assert.h> void assert( int exp ); |
相关主题:
abort()
atexit
语法:
#include <stdlib.h> int atexit( void (*func)(void) ); |
相关主题:
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 *) ); |
相关主题:
qsort().
exit
语法:
#include <stdlib.h> void exit( int exit_code ); |
相关主题:
atexit() and abort().
getenv
语法:
#include <stdlib.h> char *getenv( const char *name ); |
相关主题:
system().
longjmp
语法:
#include <setjmp.h> void longjmp( jmp_buf envbuf, int status ); |
相关主题:
setjmp().
qsort
语法:
#include <stdlib.h> void qsort( void *buf, size_t num, size_t size, int (*compare)(const void *, const void *) ); |
相关主题:
bsearch().
raise
语法:
#include <signal.h> int raise( int signal ); |
信号 | 含义 |
SIGABRT | 终止错误 |
SIGFPE | 浮点错误 |
SIGILL | 无效指令 |
SIGINT | 用户输入 |
SIGSEGV | 非法内存存取 |
SIGTERM | 终止程序 |
相关主题:
signal()
rand
语法:
#include <stdlib.h> int rand( void ); |
相关主题:
srand()
setjmp
语法:
#include <setjmp.h> int setjmp( jmp_buf envbuf ); |
相关主题:
longjmp()
signal
语法:
#include <signal.h> void ( *signal( int signal, void (* func) (int)) ) (int); |
宏 | 解释 |
SIG_DFL | 默认信号处理 |
SIG_IGN | 忽略信号 |
srand
语法:
#include <stdlib.h> void srand( unsigned seed ); |
相关主题:
rand(), time().
system
语法:
#include <stdlib.h> int system( const char *command ); |
相关主题:
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_start() 传递有效的参数列表va_list和函数强制的第一个参数。第一个参数代表将要传递的参数的个数。
- 其次,调用va_arg()传递参数列表va_list 和将被返回的参数的类型。va_arg()的返回值是当前的参数。
- 再次,对所有的参数重复调用va_arg()
- 最后,调用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。