La función longjmp () en C ++ restaura el entorno previamente guardado llamando a setjmp ().
La función longjmp () se define en el archivo de encabezado.
prototipo longjmp ()
void longjmp (jmp_buf env, estado int);
El entorno a cargar se almacena en el argumento env que se guarda llamando a la función setjmp ().
Parámetros longjmp ()
- env: Un objeto de tipo jmp_buf que almacena el entorno para cargar.
- status: La variable para regresar de setjmp. Si es igual a 0, se utiliza 1 en su lugar.
longjmp () Valor de retorno
- Ninguna
Ejemplo: ¿Cómo funciona la función longjmp ()?
#include #include using namespace std; int main() ( jmp_buf env; int val; val = setjmp(env); if (val==0) ( cout << "setjmp returned " << val << endl; longjmp(env,val); ) else ( cout << "setjmp returned " << val << endl; cout << "Program terminating" << endl; ) return 0; )
Cuando ejecute el programa, la salida será:
setjmp devolvió 0 setjmp devolvió 1 Programa terminando