itsource

EOF 시뮬레이션 방법

mycopycode 2022. 7. 17. 00:14
반응형

EOF 시뮬레이션 방법

저는 현재 K&R의 책을 읽고 첫 번째 섹션의 예를 타이핑하고 있는데, 다음과 같은 예가 몇 가지 있습니다.

while((c = getchar()) != EOF) {
    //do something
}

Windows 박스에서 이러한 예를 테스트하고 있습니다.따라서 컴파일된 exe 파일을 실행합니다.cmd신속한.

위의 예를 테스트하려면 어떻게 하면EOF즉, 기본적으로 명령어프롬프트에서 예를 테스트할 때 루프를 정지하려면 어떻게 해야 합니까?

EOF를 입력하려면 다음 명령을 사용합니다.

  1. Windows 에서의 ^Z()CtrlZ
  2. ^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

반응형