0
我有一些以二進制格式讀寫數據的C++代碼。我想看看它在文件中讀取和寫入的內容,所以我想將它轉換爲二進制讀取和寫入非二進制讀寫。另外,當我將二進制寫入轉換爲非二進制寫入時,我希望它仍然能夠正確讀取信息。如何才能做到這一點?如何在C++中將二進制讀取/寫入轉換爲非二進制讀取/寫入
寫入功能:
int btwrite(short rrn, BTPAGE *page_ptr)
{
// long lseek(), addr;
long addr;
addr = (long) rrn * (long) PAGESIZE + HEADERSIZE;
lseek(btfd, addr, 0);
return (write(btfd, page_ptr, PAGESIZE));
}
read函數:
int btread(short rrn, BTPAGE *page_ptr)
{
// long lseek(), addr;
long addr;
addr = (long)rrn * (long)PAGESIZE + HEADERSIZE;
lseek(btfd, addr, 0);
return (read(btfd, page_ptr, PAGESIZE));
}
這裏是BTPAGE的定義:
typedef struct {
short keycount; /* number of keys in page */
int key[MAXKEYS]; /* the actual keys */
short child[MAXKEYS+1]; /* ptrs to rrns of descendants */
} BTPAGE;
需要更多的細節,尤其是'BTPAGE'。 – 2010-05-09 00:24:34
我會藉此機會插入Google的協議緩衝區:http://code.google.com/apis/protocolbuffers/ – Stephen 2010-05-09 00:49:24
編寫檢查二進制文件格式的工具是否足夠,或者您是否需要查看它來自作家計劃? – Stephen 2010-05-09 00:52:09