longjmp : longjmp « setjmp.h « C Tutorial

Home
C Tutorial
1.Language
2.Data Type
3.String
4.printf scanf
5.Operator
6.Statement
7.Array
8.Function
9.Structure
10.Pointer
11.Memory
12.Preprocessor
13.File
14.Data Structure
15.Search Sort
16.Wide Character String
17.assert.h
18.ctype.h
19.math.h
20.setjmp.h
21.signal.h
22.stdio.h
23.stdlib.h
24.string.h
25.time.h
26.wctype.h
C / ANSI-C
C++
C++ Tutorial
Visual C++ .NET
C Tutorial » setjmp.h » longjmp 
20.1.1.longjmp
ItemValue
Header filesetjmp.h
Declarationvoid longjmp(jmp_buf envbuf, int status);


  1. The longjmp() function causes program execution to resume at the point of the last call to setjmp().
  2. longjmp() and setjmp() provide a means of jumping between functions.

The most common use of longjmp() is to return from a deeply nested set of routines when an error occurs. (C: The Complete Reference, Fourth Edition by Herbert Schildt McGraw-Hill/Osborne 2000 ISBN-10: 0072121246, ISBN-13: 978-0072121247)

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

  jmp_buf ebuf;
  void f2(void);

  int main(void)
  {
    int i;

    printf("1 ");
    i = setjmp(ebuf);
    if(i == 0) {
      f2();
      printf("This will not be printed.");
    }
    printf("%d", i);

    return 0;
  }

  void f2(void)
  {
    printf("2 ");
    longjmp(ebuf, 3);
  }
1 2 3
20.1.longjmp
20.1.1.longjmp
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.