ให้ศึกษาความแตกต่างระหว่าง exit (0) และ exit (1) ด้วยความช่วยเหลือของกราฟเปรียบเทียบ
กราฟเปรียบเทียบ
พื้นฐานสำหรับการเปรียบเทียบ | ออก (0) | ออก (1) |
---|---|---|
ขั้นพื้นฐาน | รายงานระบบปฏิบัติการเกี่ยวกับการสิ้นสุด / สำเร็จ "ปกติ / สำเร็จ" ของโปรแกรม | รายงานระบบปฏิบัติการเกี่ยวกับการสิ้นสุดของโปรแกรม "ผิดปกติ" |
วากยสัมพันธ์ | ออก (0); | ทางออก (1); |
บ่งชี้ว่า | มันบ่งชี้ว่างานได้ดำเนินการเรียบร้อยแล้ว | มันบ่งชี้ว่างานถูกยกเลิกในระหว่างเพราะข้อผิดพลาด |
แมโคร | EXIT_SUCCESS | EXIT_FAILURE |
คำจำกัดความของการออก (0)
ฟังก์ชัน exit (0) เป็นคำสั่ง jump ของ C ++ มันถูกใช้เพื่อยกเลิกโปรแกรมหรือปล่อยให้การควบคุมออกจากโปรแกรม มันรายงานระบบปฏิบัติการเกี่ยวกับการยกเลิกที่สำเร็จของโปรแกรมซึ่งบ่งชี้ถึงระบบปฏิบัติการว่างานของโปรแกรมเสร็จสมบูรณ์แล้ว มาโครที่ใช้สำหรับโค้ดส่งคืน“ 0” คือ“ EXIT_SUCCESS” ดังนั้นคุณสามารถใช้มันในการออกทาง (EXIT_SUCCESS) รูปแบบทั่วไปของฟังก์ชัน exit (0) คือ: -
โมฆะทางออก (int return_code);
ที่นี่พารามิเตอร์ทางการ“ return_code” คือค่าที่ส่งคืนไปยังฟังก์ชันการโทร returen_code เป็นประเภทจำนวนเต็มเสมอเนื่องจากค่าที่ส่งคืนไปยังฟังก์ชันการโทรจะเป็นศูนย์หรือค่าที่ไม่ใช่ศูนย์ exit (0) เป็นฟังก์ชั่นไลบรารีมาตรฐานถ้าเราใช้ exit (0) ในโปรแกรมเราต้องใช้ไฟล์ส่วนหัว
ให้เราเข้าใจ exit (0) ด้วยตัวอย่าง: -
#include // ฟังก์ชันไลบรารีมาตรฐาน int main () {FILE * ptrFile; ptrFile = fopen ("myfile.txt", "r"); // เปิดไฟล์ในโหมดอ่านอย่างเดียวถ้า (ptrFile == NULL) {ศาล << "ข้อผิดพลาดในการเปิดไฟล์"; ทางออก (1); // คุณสามารถใช้ exit (EXIT_FAILURE)} exit (0); // คุณสามารถใช้ exit (EXIT_SUCCESS)}
ในรหัสข้างต้นเราพยายามเปิดไฟล์ชื่อ“ myfile.txt” เราสร้างตัวชี้ไปยังไฟล์“ myfile.txt” หากไฟล์“ myfile.txt” มีอยู่ตัวชี้จะชี้ไปยังที่อยู่ของไฟล์นั้นและออก (0) จะดำเนินการรายงานระบบปฏิบัติการที่เปิดไฟล์สำเร็จ ในกรณีที่ไฟล์ไม่ปรากฏตัวชี้ไปยังไฟล์“ myfile.txt” ในขณะนี้จะมี NULL และ exit (1) จะดำเนินการรายงานระบบปฏิบัติการว่าไฟล์ไม่เปิดเนื่องจากข้อผิดพลาดหรือบางสิ่ง
คำจำกัดความของทางออก (1)
ฟังก์ชัน exit (1) เป็นคำสั่ง jump ของ C ++ exit (1) ยังยกเลิกโปรแกรม แต่ผิดปกติ exit (1) รายงานระบบปฏิบัติการว่าโปรแกรมไม่สามารถทำงานได้สำเร็จหรือถูกยกเลิกระหว่างการทำงานเนื่องจากข้อผิดพลาดบางอย่างหรือข้อผิดพลาดอื่น ๆ ฟังก์ชัน exit (1) ถูกกำหนดไว้ในฟังก์ชันไลบรารีมาตรฐานในกรณีที่คุณใช้ exit (1) ในโปรแกรมของคุณคุณต้องพูดถึงไฟล์ส่วนหัวที่ด้านบนของโปรแกรมโดยเฉพาะ
มาโครสำหรับโค้ดส่งคืน“ 1” คือ“ EXIT_FAILURE” ดังนั้นจึงสามารถเขียนได้ในลักษณะ“ exit (EXIT_FAILURE)”
ตอนนี้ให้เราเข้าใจฟังก์ชั่น exit (1) ด้วยความช่วยเหลือของโปรแกรม
// pop องค์ประกอบที่ด้านบนของ stack int pop (int stack_name, int size, int Top) {if (Top == - 1) {cout << "stack is underflow"; ทางออก (1); } else {int s = s [Top]; Top--; ผลตอบแทน }}
ที่นี่ฟังก์ชั่นถูกกำหนดให้ปรากฏองค์ประกอบที่ด้านบนของสแต็คหากพบว่าด้านบนของสแต็กจะว่างเปล่าเช่นด้านบนคือ -1 จากนั้นภารกิจในการดึงองค์ประกอบด้านบนสุดในสแต็กยังไม่เสร็จสมบูรณ์เนื่องจากสแต็กนั้นว่างเปล่าจากนั้นเราจะส่งกลับทางออก (1) มันบ่งชี้ว่างานของฟังก์ชั่นป๊อปยังไม่เสร็จสมบูรณ์ ดังนั้นการดำเนินการจะถูกยกเลิกอย่างผิดปกติ
ความแตกต่างที่สำคัญระหว่างทางออก (0) และทางออก (1)
- return_code เดียวที่ระบุว่าการยกเลิกสำเร็จของโปรแกรมคือ“ 0” สำหรับการรายงานการสิ้นสุดของโปรแกรมที่ผิดปกติเราสามารถใช้ค่าใด ๆ นอกเหนือจาก“ 0” เช่นเราสามารถใช้“ 1”, “ 2”, “ 3” …ซึ่งหมายถึงค่าที่ไม่ใช่ศูนย์แสดงถึงการสิ้นสุดของโปรแกรม
- แมโครสามารถใช้แทน return_code เช่นเดียวกับที่“ 0” คุณสามารถใช้“ EXIT_SUCCESS” แทน“ 1” คุณสามารถใช้“ EXIT_FAILURE”
ความคล้ายคลึงกัน:
- ทั้ง exit (0) และ exit (1) เป็นคำสั่ง jump ของ C ++
- ทั้ง exit (0) และ exit (1) ถูกใช้เพื่อยกเลิกโปรแกรม
- ทั้ง exit (0) และ exit (1) ถูกกำหนดไว้ในไฟล์ส่วนหัว
- ทั้ง exit (0) และ exit (1) รายงานสถานะการสิ้นสุดของโปรแกรมไปยังระบบปฏิบัติการ
บันทึก:
หากฟังก์ชั่น exit () ไม่ส่งคืนสิ่งใดแสดงว่าไม่ต้องการเปิดเผยสถานะการสิ้นสุดของโปรแกรมไปยังระบบปฏิบัติการ
สรุป:
ในการรายงานสถานะการสิ้นสุดของโปรแกรมหนึ่งใช้ฟังก์ชัน exit () exit (0) เปิดเผยกับระบบปฏิบัติการว่างานของโปรแกรมเสร็จสมบูรณ์ ทางออก (1) แสดงให้เห็นว่างานของโปรแกรมไม่เสร็จสมบูรณ์และการดำเนินการของโปรแกรมจะถูกยกเลิกอย่างผิดปกติ