Syntaxe :
#include <csetjmp> void longjmp( jmp_buf envbuf, int statut );
La fonction longjmp() provoque l'exécution du code au niveau du dernier appel à
la fonction setjmp()
. envbuf est habituellement modifiée par un appel à setjmp()
.
statut devient la valeur de retour de setjmp() et peut être utilisé pour connaitre
l'origine de longjmp(). statut ne doit pas être nul.
Exemple d'utilisation :
/* longjmp example */ #include <cstdio> #include <cstdlib> #include <csetjmp> int main(int argc, char* argv[]) { jmp_buf env; int val; val=setjmp(env); printf ("val is %d\n",val); if (!val) longjmp(env, 1); return 0; }
Sortie standard :
val is 0 val is 1
Sujet connexe : setjmp