機能 |
現在の呼出し環境を保存することを表す。 保存した環境に復帰する場合は、longjmp関数を用いる。 |
||
---|---|---|---|
定義 |
#include <setjmp.h> int setjmp ( jmp_buf env ); |
||
引数 |
|
||
戻り値 |
環境を保存したときは 0 を返す。 環境が復帰されたときはlongjmp関数の引数で指定した値を返す。必ず0以外となる。 |
||
実装例 |
#include <setjmp.h> #include <stdio.h> int main(void) { jmp_buf jmp; printf("Set jump point.\n"); if (setjmp( jmp ) == 0) /* 復元場所 ジャンプした時は戻り値が1となる */ { printf("Go to a jump point and assume a return value of setjmp() is 1.\n"); longjmp( jmp, 1 ); /* 戻り値を1にしてジャンプする */ } printf("Finish.\n"); return 0; } |
||
実行結果 |
Set jump point. Go to a jump point and assume a return value of setjmp() is 1. Finish. |
setjmp()