반응형
Windows 터미널을 통해 EOF를 보내는 방법
K&R 북에서 예제 1.9를 이해하려고 하는데 EOF를 어떻게 보내야 하는지 모르겠어요.일부 정보원은 Ctr+Z를 언급했지만, 이는 단순히 프로그램을 종료하는 것입니다.어떻게든 Enter와 Ctrl+Z, 그리고 Ctrl+V의 조합으로 EOF를 보낼 수 있었지만 재생할 수 없습니다.
#include <stdio.h>
#define MAXLINE 1000
main()
{
int len;
int max;
char line[MAXLINE];
char save[MAXLINE];
max = 0;
while((len = getline_my(line, MAXLINE)) > 0)
if(len > max) {
max = len;
copy(line, save);
}
if(max > 0)
printf("%s", save);
}
getline_my(s, lim)
char s[];
int lim;
{
int c, i;
for(i=0; i < lim-1 && (c = getchar()) != EOF && c != '\n'; i++)// As long as the condition is fulfilled
s[i] = c;
if (c == '\n') {
s[i] = c;
i++;
}
s[i] = '\0';
return(i);
}
copy(s1, s2)
char s1[];
char s2[];
{
int i;
i = 0;
while((s2[i] = s1[i]) != '\0')
i++;
}
다음을 통해 EOF를 시뮬레이션할 수 있습니다.CTRL+D
( *nix의 경우) 또는CTRL+Z
그런 다음 명령줄에서 (Windows의 경우)를 입력합니다.
입력을 완료할 준비가 되면 과부에서 를 누릅니다.Enter
키를 누른 다음 누릅니다.Ctrl+Z
그리고 나서.Enter
입력을 완료합니다.
int main(){
char ch[100];
scanf("%[^EOF]",ch);
printf("\nthe string is:\n%s\n",ch);
fflush(stdin);
return 0;
}
결국, 유닉스 계열 시스템을 위한 간단한 K&R 코드를 고려할 때 윈도우에서는 쉽게 할 수 없습니다.'^Z^M'(Ctrl-Z 후 Enter)을 보내 EOF에 해당하는 Windows를 보낼 수 있지만 이 C 프로그램에서 확인하는 문자 'EOF'가 다릅니다.
단답: 그럴 수 없습니다.
언급URL : https://stackoverflow.com/questions/16136400/how-to-send-eof-via-windows-terminal
반응형
'code' 카테고리의 다른 글
XML 특성 대 요소 (0) | 2023.11.04 |
---|---|
파일 변경 시 도커 컨테이너 재구축 (0) | 2023.11.04 |
$(document.(" 클릭"에서...안되나요? (0) | 2023.11.04 |
팬더 그룹비와 섬 온리 원 칼럼 (0) | 2023.11.04 |
iframe의 내용을 확장하려면 어떻게 해야 합니까? (0) | 2023.11.04 |