トップページ > キーワード検索 > setjmp()
C言語規格
C言語(その他)
プログラム
その他
setjmp()
機能 現在の呼出し環境を保存することを表す。
保存した環境に復帰する場合は、longjmp関数を用いる。
定義 #include <setjmp.h>

int setjmp ( jmp_buf env );
引数
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.





inserted by FC2 system