0
我通過TCP套接字輸入的每一行使用fdopen
和fgets
這樣的循環:在與fgets檢測EOF While循環
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
?
如果'fgets'沒有返回'NULL',那麼緩衝區中就沒有'EOF'。 – md5