오늘은 입력 한 문자를 계산하기 위해 getchar()
을 사용하는 간단한 코드를 작성했습니다. Cygwin에서 컴파일하면 작동하지 않습니다. 항상 0을 인쇄하지만 아무 것도 입력하지 않거나 0을 인쇄하는 문자를 입력 할 수 없습니다.왜 getchar()이 제대로 작동하지 않습니까?
그러나 VC++ 6.0으로 컴파일하면 작동합니다.
#include<stdio.h>
int main(void)
{
long nc;
nc = 0;
while(getchar() != EOF)
++nc;
printf("The total of characters you inputed is %ld.\n", nc);
return 0;
}
cygwin에서 컴파일 할 때 무엇을 사용하고 있습니까? Cygwin을 가지고 있고 VC를 사용하여 컴파일하면 잘 작동합니다. – hmjd
정확한 코드가 Cygwin에서 완벽하게 작동합니다 (GCC로 컴파일). EOF를 보내려면 Ctrl-D를 눌러야합니다. –
* 정확히 * 프로그램을 실행하고 있습니까? 'echo hello |를 실행하면 어떻게됩니까? ./your_program'을 Cygwin bash 쉘 프롬프트에서 찾으시겠습니까? './your_program','hello', Enter를 입력 한 다음 Control-D를 입력하면 어떻게 될까요? –