我从某处读取和写入二进制格式的数据。我想看看它在文件中读取和写入的内容,所以我想将它的二进制读取和写入转换为非二进制读写。此外,当我将二进制写入转换为非二进制写入时,我希望它仍然能够正确读取信息。怎么办呢?
写函数:
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));
}
读取功能:
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;
答案 0 :(得分:1)
在C ++中,将重载的流插入运算符添加到BTPAGE类。阅读BTPage后,添加以下内容:
cout << *page_ptr << endl;
否则,您将需要编辑您的问题,并提供有关您所寻找内容的更多详细信息。例如:
另外,请提供BTPAGE的声明。