A função longjmp () em C ++ restaura o ambiente salvo anteriormente chamando setjmp ().
A função longjmp () é definida no arquivo de cabeçalho.
protótipo longjmp ()
void longjmp (env jmp_buf, status int);
O ambiente a ser carregado é armazenado no argumento env, que é salvo chamando a função setjmp ().
Parâmetros longjmp ()
- env: Um objeto do tipo jmp_buf que armazena o ambiente a ser carregado.
- status: a variável para retornar de setjmp. Se for igual a 0, 1 será usado.
longjmp () Valor de retorno
- Nenhum
Exemplo: Como funciona a função 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; )
Quando você executa o programa, a saída será:
setjmp retornou 0 setjmp retornou 1 Encerramento do programa