slide-image


FTZ

[Free Training Zone]

# level18



이번 문제는 뭐랄까... 함정이 많아서 짜증났다..

19번부터는 어려워지던데, 19번 풀이를 자세히 써볼까...

일단 18번 풀이부터^~^


소스가 굉장히 길어졌는데, 나는 파일 디스크립터에 관한 C언어 함수를 잘 모르는지라, 조사를 했다.

FD_set 은 FD를 그룹지을 때 사용하는데, *fds에서 입력에 해당하는 비트를 1로 설정한다.

FD_ZERO는 fd_set으로 선언된 변수를 초기화해서 우리 코드에서는 *fds의 모든 비트를 지우는 역할을 한다.

FD_ISSET은 *fds 값에 fileno(stdin) 값이 설정되어 있는지 확인해서 양수값을 리턴한다고 한다.

select는 FD_SET으로 설정된 파일 디스크립터를 확인하여 결과가 read/write 인 fd만 fdset 내에 set한다고 한다.

fileno는 파일디스크립터 값을 얻는 함수이다. 


사실 뭔지 몰라도 되는 내용이던데, 그냥 입력을 받는구나..정도여도 괜찮을 것 같다. 밑의 switch 구문이다.


디버깅했다.




'Wargame > FTZ' 카테고리의 다른 글

[FTZ] level20->clear  (0) 2019.03.27
[FTZ] level19->level20  (0) 2019.03.27
[FTZ] level17->level18  (0) 2019.03.23
[FTZ] level16->level17  (0) 2019.03.23
[FTZ] level15->level16  (0) 2019.03.23