Función de biblioteca C - longjmp ()

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

  • environment - Este es el objeto de tipo jmp_buf que contiene información para restaurar el entorno en el punto de llamada del setjmp.

  • value - Este es el valor al que setjmp expresión evalúa.

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