exit() 함수 사용
언제 어떻게 사용할 수 있는지 알고 싶습니다.exit()
내 책에 나와 있는 프로그램과 같은 기능을 합니다.
#include<stdio.h>
void main()
{
int goals;
printf("enter number of goals scored");
scanf("%d",&goals);
if(goals<=5)
goto sos;
else
{
printf("hehe");
exit( );
}
sos:
printf("to err is human");
}
실행 시 ERROR: call to undefined function exit()이 표시됩니다.
또한 프로그램이 실행되는 창을 닫는 옵션을 만드는 방법을 알고 싶습니다.예를 들어 메뉴 구동 프로그램을 만들었는데, 그 중 하나가 '메뉴 종료'였습니다.프로그램을 종료하려면(즉, 창을 닫는 등) 어떻게 해야 합니까?
사용해보십시오.exit(0);
대신.함수에는 정수 파라미터가 필요합니다.그리고 잊지 말고#include <stdlib.h>
.
그exit
함수는 stdlib 헤더로 선언되어 있기 때문에
#include <stdlib.h>
사용할 수 있도록 프로그램 상단에서exit
.
또,exit
정수 인수를 사용하기 때문에 다음과 같이 부를 수 없습니다.exit()
, 로서 전화할 필요가 있습니다.exit(0)
또는exit(42)
. 0은 보통 프로그램이 정상적으로 완료되었음을 의미하며 0이 아닌 값이 오류 코드로 사용됩니다.
미리 정의된 매크로도 있습니다.EXIT_SUCCESS
그리고.EXIT_FAILURE
,예.exit(EXIT_SUCCESS);
남자 퇴장을 시도해봐.
아, 그리고:
#include <stdlib.h>
int main(void) {
/* ... */
if (error_occured) {
return (EXIT_FAILURE);
}
/* ... */
return (EXIT_SUCCESS);
}
exit(int code);
에 선언되어 있다.stdlib.h
그래서 당신은 필요한 것이
#include <stdlib.h>
기타:
- 에 대한 파라미터가 없습니다.exit()
, 이 방법에는int
그러니 하나를 제공하라.
- 이 책을 불태워라, 이 책은goto
이는 (Linux 커널 해커 이외의 모든 사람에게) 매우 매우 나쁜 것입니다.
편집:
아, 그리고
void main()
나쁜 점도 있습니다.
int main(int argc, char *argv[])
다음으로 의 사용 예를 나타냅니다.exit()
기능.
#include <stdio.h>
#include <stdlib.h>
int main(void) {
printf("Start of the program....\n");
printf("Exiting the program....\n");
exit(0);
printf("End of the program....\n");
return 0;
}
산출량
프로그램 시작...
프로그램을 종료하는 중...
그exit()
function은 인수 없는 반환 유형을 가진 함수 유형입니다.stdlib 헤더 파일에 의해 정의됩니다.
를 사용해야 합니다.( exit(0) or exit(EXIT_SUCCESS))
또는(exit(non-zero)
또는exit(EXIT_FAILURE) )
.
종료 코드를 부모 프로세스에 반환하는 것 외에 -
UNIX 에서는, 첫 번째 호출시에 exit()를 호출해(역순으로), atexit() 호출에 의해 등록된 모든 함수를 생략했다고 생각합니다.
자세한 내용은 SUSv4를 참조하십시오.
unix와 같은 운영체제에서 exit은 시스템 호출 그룹에 속합니다.시스템 호출은 사용자 코드(당신의 코드)가 커널 코드를 호출할 수 있도록 하는 특별한 호출입니다.따라서 종료콜은 OS에 제어권을 되돌리기 전에 OS 고유의 청소 액션을 수행하여 프로그램을 종료합니다.
#include <stdlib.h>
// example 1
int main(int argc, char *argv){
exit(EXIT_SUCCESS);
}
// example 2
int main(int argc, char *argv){
return 0;
}
컴파일러에 따라서는, 양쪽의 예로부터 같은 opcode를 얻을 수 있는 것도 있습니다만, 그렇지 않은 것도 있습니다.예를 들어, 첫 번째 함수의 opcode는 다른 함수와 마찬가지로 두 번째 예시에 포함될 스택 포지셔닝 opcode를 포함하지 않습니다.두 가지 예를 모두 컴파일하여 분해하면 차이를 알 수 있습니다.
코드의 어느 부분에서도 exit을 사용할 수 있으며 프로세스가 종료되었는지 확인할 수 있습니다.정수 매개 변수를 포함하는 것을 잊지 마십시오.
이치노Goto 기능을 사용하는 것은 C 프로그래밍에서 완전히 No입니다.
, 「」, .h」라고 써, 헤더 「stdlib.h」를 합니다.#include <iostream.h>
를 하는 경우exit()
() 인수 .exit()를 사용합니다.exit(0)
으로 완료되고, 「」가 되었을 , 「」가 됩니다.exit(-1)
또는 프로그램에 오류가 있는 경우 0이 아닌 값을 인수로 사용하여 함수를 종료합니다.
하다, 하다, 하다, 하다, 하다를 한 줄 더 .#include <stdlib.h>
및 ""를 하도록 하겠습니다.exit
에 해야 합니다.exit(any_integer)
.
헤더 파일 " " "#include<process.h>
를 치환합니다.exit();
exit(0);
다른 컴파일러는 모르겠지만 터보 C에서는 확실히 동작합니다.
stdlib.h
'아까보다'라고 불러주세요.abort();
프로그램을 종료하고 싶은 모든 장소에서 사용할 수 있습니다.다음과 같이 합니다.
switch(varName)
{
case 1:
blah blah;
case 2:
blah blah;
case 3:
abort();
}
를 입력했을 때 이 케이스3 에서는, 「3」을 호출합니다.abort
키를 바로 됩니다.라고 입력합니다.
stdlib 및 iostream 대신 process.h를 사용합니다.100% 동작합니다.
언급URL : https://stackoverflow.com/questions/2425167/use-of-exit-function
'programing' 카테고리의 다른 글
View 구성 요소에서 Vuex 상태 초기화를 기다리는 방법 (0) | 2022.08.10 |
---|---|
C 문자열 내의 문자의 인덱스를 찾으려면 어떻게 해야 합니까? (0) | 2022.08.10 |
Vue Draggable - 드롭할 요소에 액세스합니다. (0) | 2022.08.10 |
행 길이가 다른 다차원 배열 할당에 malloc 사용 (0) | 2022.08.10 |
"backspace" 이스케이프 문자 "\b": 예기치 않은 동작? (0) | 2022.08.10 |