C language
[C 언어] 입력 버퍼 지우기
GuTTe
2018. 4. 24. 21:47
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #include <stdio.h> void clearna(void) { while(getchar()!='\n'); // \n이 나올때 까지 읽어들인다 } int main(void) { char perid[7]; char name[10]; fputs("주민번호 앞 6자리 입력: ", stdout); fgets(perid, sizeof(perid), stdin); //fgets함수는 \n을 만날 때 까지 읽어들이는 함수이다. clearna(); //입력버퍼 지우기! /*getchar(); = 이것도 가능 */ /*배열의 크기가 7이므로 6자리 입력 + NULL \n이 밀려 버퍼에 남아 있기 때문에 이것만 읽고 넘어가 버리기 때문에 반복문을 통해 이것까지 읽어들이는 것이다! */ fputs("이름 입력: ",stdout); fgets(name, sizeof(name), stdin); printf("주민번호 : %s\n", perid); printf("이름 : %s\n", name); return 0; } | cs |