C Tutorial/setjmp.h/setjmp
setjmp
Item Value Header file setjmp.h Declaration int setjmp(jmp_buf envbuf); Function saves the contents of the system stack in the buffer envbuf for later use by longjmp(). Return returns 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);
}