- 论坛徽章:
- 0
|
部分源代码:
else
{
bzero(sendmsg,sizeof(sendmsg));
while(fread(sendmsg,1,1012,fp))
{
userlog("%s",sendmsg);
if(feof(fp))
{
strcat(sendmsg,"\r\n");
strcat(sendmsg,".");
strcat(sendmsg,"\r\n");
}
retConnect=send(sockfd,sendmsg,strlen(sendmsg),0);
while(retConnect>0 && retConnect!=strlen(sendmsg))
retConnect=retConnect+send(sockfd,(char *)sendmsg+retConnect,strlen(sendmsg)-retConnect,0);
if(retConnect<=0)
{
userlog("send file error!");
close(sockfd);
tpreturn(TPFAIL, 0, rqst->data, 0L, 0);
}
if(!feof(fp))
bzero(sendmsg,sizeof(sendmsg));
}
fclose(fp);
}
其中sendmsg 是 char [1024]
读取一个文件,指针是fp
可是每次都是fread 读到倒数第二个块的时候 feof 就是TRUE了,这样每次文件的最后一个块都无法被读到
太奇怪了! |
|