Latest web development tutorials

fonctions de la bibliothèque C - longjmp ()

C bibliothèque standard - <setjmp.h> C bibliothèque standard - <setjmp.h>

description

fonctions de la bibliothèque Cde longjmp void (environnement jmp_buf, valeur int ) pour restaurer un récent appel à setjmpmacro()pour sauvegarder l'environnement en définissantjmp_bufparamètres avant d' appeler setjmp () génère.

déclaration

Voici la déclaration de la fonction longjmp ().

void longjmp(jmp_buf environment, int value)

Paramètres

  • environnement - ce qui est un type d'objet jmp_bufqui contient des informations sur l'environnement lorsque vous appelez magasin de setjmp.
  • valeur - Ceci est l'expression setjmppour déterminer la valeur.

Valeur de retour

Cette fonction ne retourne pas de valeur.

Exemples

L'exemple suivant illustre l'utilisation de la fonction longjmp ().

#include <stdio.h>
#include <stdlib.h>
#include <setjmp.h>

int main()
{
   int val;
   jmp_buf env_buffer;

   /* 保存 longjmp 的调用环境 */
   val = setjmp( env_buffer );
   if( val != 0 ) 
   {
      printf("从 longjmp() 返回值 = %s\n", val);
      exit(0);
   }
   printf("跳转函数调用\n");
   jmpfunction( env_buffer );
   
   return(0);
}

void jmpfunction(jmp_buf env_buf)
{
   longjmp(env_buf, "w3cschool.cc");
}

Nous allons compiler et exécuter le programme ci-dessus, qui se traduira par ce qui suit:

跳转函数调用
从 longjmp() 返回值 = w3cschool.cc

C bibliothèque standard - <setjmp.h> C bibliothèque standard - <setjmp.h>