longjmp : longjmp « setjmp.h « C Tutorial

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
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C++
C++ Tutorial
PHP
Python
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
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
w_w___w___.__j_a__v__a2s_._co__m_ | Contact Us
Copyright 2003 - 08 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.