Funzione libreria C - longjmp ()
Descrizione
La funzione di libreria C. void longjmp(jmp_buf environment, int value) ripristina l'ambiente salvato dalla chiamata più recente a setjmp() macro nella stessa chiamata del programma con il corrispondente jmp_buf discussione.
Dichiarazione
Di seguito è riportata la dichiarazione per la funzione longjmp ().
void longjmp(jmp_buf environment, int value)
Parametri
environment - Questo è l'oggetto del tipo jmp_buf contenente informazioni per ripristinare l'ambiente nel punto di chiamata di setjmp.
value - Questo è il valore a cui il setjmp espressione valuta.
Valore di ritorno
Questa funzione non restituisce alcun valore.
Esempio
L'esempio seguente mostra l'utilizzo della funzione longjmp ().
#include <stdio.h>
#include <stdlib.h>
#include <setjmp.h>
int main () {
int val;
jmp_buf env_buffer;
/* save calling environment for longjmp */
val = setjmp( env_buffer );
if( val != 0 ) {
printf("Returned from a longjmp() with value = %s\n", val);
exit(0);
}
printf("Jump function call\n");
jmpfunction( env_buffer );
return(0);
}
void jmpfunction(jmp_buf env_buf) {
longjmp(env_buf, "tutorialspoint.com");
}
Compiliamo ed eseguiamo il programma sopra che produrrà il seguente risultato:
Jump function call
Returned from a longjmp() with value = tutorialspoint.com