라이브러리의 목적 중 하나는 파일에서 지정된 양의 바이트를 검색하는 것이고,이 특정 경우에는 액세스를 원합니다. /dev/random 엔트로피 기반 랜덤 시퀀스를 검색합니다.파일에서 n 바이트를 검색하는 (안정적인) 방법을 구현하는 데 문제가 발생했습니다.
fread의 가장 큰 문제점은 더 많은 엔트로피를 기다릴 때 무한정 정지된다는 것입니다. 나의 다음 선택은 바이트를 청크로 가져 가기 위해 feff로 fread를 랩핑했을 것이고, 적어도 반복을 1, 2, 3, 4로 모으는 것에서 더 나은 경험을 위해 백분율을 제공 할 수있다. 정확하게 필요한만큼의 양을 추적하기는 어렵습니다.
내가 찾고자하는 정확한 양과 청크를 허용하는 C 표준의 방법이 있습니까? 이 시간 제한을 찾으려면 데이터 요청을 스레딩하는 것이 좋습니다.
ioctl 호출의 마지막 매개 변수가'ioctl (fd, FIONREAD, & unread);라는 정수에 대한 참조를 전달한다고 가정하면/dev/random에 3213910956 개의 사용 가능한 바이트가 포함되어 있다고 주장합니다. fread보다 훨씬 좋은 것으로 보이는 read와 함께 그리고 나는 pselect/poll 옵션을 좋아한다. – Alexander