![](/img/trans.png)
[英]Using C++, how do I read a string of a specific length, from a non-binary file?
[英]How to convert binary read/write to non-binary read/write in 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));
}
读取功能:
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;
在C ++中,将重载的流插入运算符添加到BTPAGE类中。 阅读BTPage之后,添加以下内容:
cout << *page_ptr << endl;
否则,您将必须编辑您的问题,并提供有关所寻找内容的更多详细信息。 例如:
另外,请提供BTPAGE的声明。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.