버퍼에 stdin으로 입력받을 때 질문요

sysmoon의 이미지

#define BUFSIZE 100

char message[BUFSIZE];
fgets(message,BUFSIZE,stdin);

while()로프로 계속해서 입력을 받아낸다고 한다면요
처음에 abcdef 입력하고
두번째 입력에서 123만 입력하고 현제 버퍼에 무엇이 들어있는지
입력하면 123def가 찍힐 것인데... 즉 앞에서 받았던 갑이 계속 남아있게
됩니다. 이거 어떻게 해결해 주어야 하나요?

seoleda의 이미지

while 문 내부에서 fgets(message,BUFSIZE,stdin); 가 수행되기 전에,

bzero(message, BUFSUZE); 란 구문을 하나 추가하면 가능할 것 같습니다.

그럼 이만.. ^^

madkoala의 이미지

bzero / memset / message[0] = \'0';

뭐 이런 방법들이..

sysmoon의 이미지

답변 감사드립니다.

AirPlug