반응형
EOF 시뮬레이션 방법
저는 현재 K&R의 책을 읽고 첫 번째 섹션의 예를 타이핑하고 있는데, 다음과 같은 예가 몇 가지 있습니다.
while((c = getchar()) != EOF) {
//do something
}
Windows 박스에서 이러한 예를 테스트하고 있습니다.따라서 컴파일된 exe 파일을 실행합니다.cmd
신속한.
위의 예를 테스트하려면 어떻게 하면EOF
즉, 기본적으로 명령어프롬프트에서 예를 테스트할 때 루프를 정지하려면 어떻게 해야 합니까?
EOF를 입력하려면 다음 명령을 사용합니다.
- Windows 에서의 ^Z()CtrlZ
- ^D(유닉스 계열 시스템)
「EOF」를 참조
Windows: Ctrl+Z
Unix :Ctrl+D
먼저 다음을 누릅니다.Ctrl^X, 다음: Ctrl^D
int 변수에 -1 값을 명시적으로 지정함으로써 EOF를 시뮬레이트할 수도 있습니다.
보다 명확한 설명을 위해 다음 코드를 확인하십시오.
#include<stdio.h>
int main() {
// char ch=getchar()
// int ch=-1;
if(ch==EOF) { printf("\nEOF: %d",EOF); }
if((ch!=EOF)==0) { printf("\nit is equal to 0"); }
if((ch!=EOF)==1) { printf("\nit is equal to 1"); }
else { printf("\n it is equal to other value"); }
system("pause");
return 0;
}
Ctrl+d 프로그램을 누른 후 동일한 문제가 발생하였고 0이 반환되었습니다.Clion을 사용하는 경우 Registry를 입력하는 것보다 Ctrl+Shift+a를 누르고 Enter 키를 눌러 run.processes를 확인합니다.with.pty.는 오프입니다.컴파일 프로그램을 다시 실행한 후 입력을 할 수 있지만 입력과 같은 행에서 Ctrl+d를 누르지 않으면 0 또는 Error가 반환됩니다.
언급URL : https://stackoverflow.com/questions/1118957/how-to-simulate-an-eof
반응형
'itsource' 카테고리의 다른 글
Vue 클래스 구성 요소, Vuex 클래스를 사용하는 경우의 ESLint 오류 (0) | 2022.07.17 |
---|---|
LD_PRELOAD 트릭이란 무엇입니까? (0) | 2022.07.17 |
Vuex를 통한 양방향 데이터 바인딩 (0) | 2022.07.17 |
VueJ: v-model과 :value를 동시에 사용 (0) | 2022.07.17 |
포인터를 이해하기 위한 장벽은 무엇이며, 이를 극복하기 위해 무엇을 할 수 있을까요? (0) | 2022.07.17 |