我正在循环使用 TCP 套接字输入的每一行,fdopen
如下fgets
所示:
int connfd = accept(listenfd, (struct sockaddr*)NULL, NULL);
FILE *f;
char line[1024];
f = fdopen(connfd, "a+");
while(fgets(line, sizeof(line), f) != NULL) {
printf("%s", line);
}
printf("EOF");
fclose(f);
问题是它看起来由于某种奇怪的原因fgets
永远不会返回。NULL
有没有其他方法可以检查EOF
?