我正在通过以二进制格式打开 PDF 文件来阅读它。我必须通过套接字将每个字节发送到服务器。我为此目的使用winsock。以下是我遇到问题的代码:
int Div = (int)file_size / 1024;
int Mod = (int)file_size % 1024;
for (int i=0; i<Div; i++)
{
file_block = new char[1024];
myfile.seekg(i*1024);
myfile.get(file_block,1024);
send(theSocket,file_block,1024,0);
}
if (Mod != 0)
{
file_block = new char[Mod];
myfile.seekg(Div*1024);
myfile.get(file_block,Mod);
send(theSocket,file_block,Mod,0);
}
当我阅读 PDF 文件时,我的程序在读取前 4 个字节后卡住了,即%PDF-1.5
. 在 Hex Editor 中查看该文件会发现其中x0D x0A
有Carriage Return & Line Feed
.
这是我的程序卡住的原因吗?我怎么解决这个问题 ?