0
C 소켓 프로그래밍을 사용하여 웹 프록시를 완성하려고합니다. 는 브라우저에서 클라이언트를 누르 STOP 버튼, 서버가 읽기 -1 반환하지만 이상하게 동안 테스트를 통과 할 것으로 보인다 때, 코드는 다음과 같습니다 : (rio_readlineb 사용자 버퍼로 버퍼 리오에서 강력한 읽기입니다 buf)c 소켓 읽기는 -1을 반환하지만 while 테스트를 이상하게 통과합니까?
while ((n = rio_readlineb(&rio,buf,MAXLINE)) > 0){
printf("%d",n)
}
n이 0보다 큼 때문에 -1을 어떻게 출력 할 수 있습니까? (주석에서)
추가 정보는 :
n
의 유형은 유형ssize_t
될 예정이다.- 반환 유형
rio_readlineb()
도ssize_t
입니다.
...
- 아차는 : 문제는
n
실제로 유형size_t
의이었다이었다.
n은 어떤 문자입니까? – fge
유형 n은 아마도 부호없는 유형입니까? – DipSwitch
n의 타입이 ssize_t라면, 그것은 signed 타입 –