Descrição
A função da biblioteca C void longjmp(jmp_buf environment, int value) restaura o ambiente salvo pela chamada mais recente para setjmp() macro na mesma invocação do programa com o correspondente jmp_buf argumento.
Declaração
A seguir está a declaração da função longjmp ().
void longjmp(jmp_buf environment, int value)
Parâmetros
Valor de retorno
Esta função não retorna nenhum valor.
Exemplo
O exemplo a seguir mostra o uso da função 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");
}
Vamos compilar e executar o programa acima que produzirá o seguinte resultado -
Jump function call
Returned from a longjmp() with value = tutorialspoint.com