Mega Code Archive

 
Categories / C Tutorial / Setjmp h
 

Longjmp

Item Value Header filesetjmp.h Declarationvoid longjmp(jmp_buf envbuf, int status); The longjmp() function causes program execution to resume at the point of the last call to setjmp(). longjmp() and setjmp() provide a means of jumping between functions. The most common use of longjmp() is to return from a deeply nested set of routines when an error occurs. (C: The Complete Reference, Fourth Edition by Herbert Schildt McGraw-Hill/Osborne 2000 ISBN-10: 0072121246, ISBN-13: 978-0072121247) #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);   } 1 2 3