setjmp : setjmp « setjmp.h « C Tutorial






ItemValue
Header filesetjmp.h
Declarationint setjmp(jmp_buf envbuf);
Functionsaves the contents of the system stack in the buffer envbuf for later use by longjmp().
Returnreturns zero upon invocation.


#include <setjmp.h>
  #include <stdio.h>

  jmp_buf ebuf;
  void f2(void);

  int main(void)
  {
    int i;

    printf("1 ");
    i = setjmp(ebuf);
    if(i == 0) {
      f2();
      printf("This will not be printed.");
    }
    printf("%d", i);

    return 0;
  }

  void f2(void)
  {
    printf("2 ");
    longjmp(ebuf, 3);
  }








20.2.setjmp
20.2.1.setjmp