CRT进程和环境-错误处理-参数访问

来源:互联网 发布:网络穿越剧电视剧大全 编辑:程序博客网 时间:2024/04/29 16:26

参数访问

va_arg
va_end
va_start
##__VA_ARGS__


错误处理

1、assert:发布版本下也可以用

_ASSERT:发布版本不可用
_ASSERTE:会打印出增加了表达式
2、_RPT0~RPT4:
_RPTF0~RPTF4:会打印文件及行信息
_CRT_WARN,_CRT_ERROR,_CRT_ASSERT

3、clearerr

重置流的错误指示器

4、_eof

测试文件尾

5、feof

测试流的文件尾

6、ferror

测试流中的错误

7、_set_error_mode

设置_error_mode

#define _OUT_TO_DEFAULT 0 默认,位置由_app_type确定,应用程序类型不同,处理方式不同
#define _OUT_TO_STDERR  1
#define _OUT_TO_MSGBOX  2
#define _REPORT_ERRMODE 3 返回当前_error_mode的值


进程和环境控制

1、abort

异常终止,返回错误代码3

先输出信息“abnormal program termination”,然后调用raise(SIGABRT),如果该信号有关联函数,则会处理函数,然会终止运行

abort不会调用atext/_oneexit处理

2、atexit,_onexit

退出时执行指定函数,可以设置多个,先进后出的原则

atexit为ansi版本,_onexit为microsoft版本

3、_cwait

等待,直到另一个进程终止

4、_execl,_excelp

导入并执行新子进程

5、exit,_exit

终止进程,执行函数atexit注册的函数,_exit立即终止进程,不执行atexit

6、getenv,_putenv

get获取当前环境值,需要传入环境变量名称,返回该名称对应的值

put设置当前环境值,path=....这种设置方式

7、_getpid

获取进程标示号

8、_popen,_pipe,_pclose

管道操作

9、raise

将信号发送给正在运行的程序,只能发送如下信号

#define SIGINT          2       /* interrupt */CTRL+C中断
#define SIGILL          4       /* illegal instruction - invalid function image */非法指令
#define SIGFPE          8       /* floating point exception */浮点错误
#define SIGSEGV         11      /* segment violation */非法存储访问
#define SIGTERM         15      /* Software termination signal from kill */终止请求
#define SIGBREAK        21      /* Ctrl-Break sequence */
#define SIGABRT         22      /* abnormal termination triggered by abort call */异常终止

10 、signal

设置中断信号处理函数,信号为raise指定的几个信号

11、system

执行命令,执行的是命令行支持的命令



0 0
原创粉丝点击