Descripción
La función de la biblioteca C void longjmp(jmp_buf environment, int value) restaura el entorno guardado por la llamada más reciente a setjmp() macro en la misma invocación del programa con el correspondiente jmp_buf argumento.
Declaración
A continuación se muestra la declaración de la función longjmp ().
void longjmp(jmp_buf environment, int value)
Parámetros
Valor devuelto
Esta función no devuelve ningún valor.
Ejemplo
El siguiente ejemplo muestra el uso de la función 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");
}
Compilemos y ejecutemos el programa anterior que producirá el siguiente resultado:
Jump function call
Returned from a longjmp() with value = tutorialspoint.com