ファイルを開き、バッファからデータを追加して閉じるだけです。Linuxマシンでその目的のために「オープン」と「書き込み」を使用しています。'write()' の後のリターン コードは正ですが、ファイル サイズは増加せず、常に空です。私は髪を引っ張って、以下のコードの問題を把握しています。いくつかの新鮮な目がいくつかの光を当てることができると思った.
#define BIT_Q_FILE ".\\bitq.dat"
int BQWrite(void *p)
{
int fd ;
int rc = -1 ;
fd = open(BIT_Q_FILE, O_RDWR | O_APPEND ) ;
if (fd < 0)
return -1;
memset(&BITQBuff,0,sizeof(typeBITQFile));
memcpy(&BITQBuff.pBitQueue,p,sizeof(typeBITQueue));
rc = write(fd, &BITQBuff,sizeof(typeBITQFile)) ;
close(fd) ;
if(rc!=sizeof(typeBITQFile))
{
return -1;
}
rc = sizeof(typeBITQueue);
return rc ;
}