C언어 질문입니다. freopen 할 경우 표준입력버퍼 상태가 궁금합니다.
freopen을 받아 테스트 케이스를 작성 하는데요.
bingo.txt 내용과 소스는 다음과 같습니다.
bingo.txt
------------------------------------------------------------------------
11 12 2 24 10
16 1 13 3 25
6 20 5 21 17
19 4 8 14 9
22 15 7 23 18
-------------------------------------------------------------------------
소스
-------------------------------------------------------------------------
#include
int map[5][5];
void searchandchange(int sp);
int check();
int main()
{
int i,j,sp,bingo,count=0;
////////input map/////////
freopen("bingo.txt","r",stdin);
setbuf(stdout,NULL);
fflush(stdin);
for(i=0; i<5; i++)
{
for(j=0; j<5; j++)scanf("%d",&map[i][j]);
}
//////////////////////////////////////
for(i=0; i<5; i++)
{
for(j=0; j<5; j++)
{
scanf("%d",&sp);
//printf("%d",sp);
searchandchange(sp);
bingo =check();
count++;
if(bingo>=3)printf("%d\n",count);
}
}
}
------------------------------------------------------------------
소스에서 25번 scanf를 해서 bingo에 있는 내용을 버퍼에 넣습니다. 그래서 버퍼가 비어야 된다고 생각하는데,
프로그램을 실행 시키면 키보드입력이 되질 않고(scanf동작이 하지 않고) 바로 종료 됩니다.
메모장에 개행문자를 넣어서 종료 해야 하나요?
소스 넣어 글 쓰는 방법
https://kldp.org/node/158191 참고하여 다시 질문해보셔요.
세벌 https://sebuls.blogspot.kr/
댓글 달기