2016-10-22 15 views

답변

2

사람들은 표준 입력에서 읽는 경우에만 getchar을 선호합니다. 파일을 읽어야 할 때 getc/fgetc으로 바꾸지 않는 이유는 없습니다.

입력 스트림에 '\n'이없는 상황에서 무한 루프가 발생할 수 있으므로이 구문은 위험합니다. 예를 들어, 최종 사용자는 Ctrl 키 + D 또는 Ctrl 키 + Z, 당신은 출구 않을 것 같은 while 루프와 프로그램 스트림을 닫으면. 당신은 입력 무시 루프에서 EOF를 확인해야합니다 당신은 당신이 stdin에서 읽고 알고 있다면, getchar를 사용

int ch; 
while ((ch = getchar()) != '\n' && ch != EOF); 
0
  • .
  • 임의의 파일 포인터에서 읽는 경우 getc을 사용하십시오.
  • 어떤 확실하지 않은 이유로 매크로가 아닌 실제 함수를 호출해야하는 경우 fgetc을 사용하십시오. (나를 위해, 그 이유는 내가 fgetc 전화하지 결코 너무 모호하고, getc을 사용하는 것이 좋습니다.)