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
。x0D x0A
ファイルを Hex Editor で見ると、 の 16 進表現であることがわかりますCarriage Return & Line Feed
。
これが私のプログラムが動かなくなった理由ですか。この問題を解決するにはどうすればよいですか?