これは、任意のサイズのファイルから読み取り、毎回1016バイトのchar *パケットに書き込み、送信するためのループです(送信はまだ含まれていません)。
seekg()は必要ですか?または、読み取りにより、ポインターが次のチャンクの先頭に移動しますか?
ifstream file (packet.message, ios::in|ios::binary|ios::ate);
if(file.is_open()) {
size = file.tellg();
file.seekg(0, ios::beg);
for(int i = 0; !ios::eof; i++) {
memset(packet.message,0,1016*sizeof(char));
file.read(packet.message,1016*sizeof(char));
file.seekg(i*1016*sizeof(char));
}
}
ファイルが適切なサイズになるまで最後まで書き込み続けるので、これはファイルへの書き込みの問題ではないことを私は知っています。
編集:ifステートメントにコード全体を追加しました。