我正在尝试重新设计我之前使用过它的项目的API,它是用C语言编写的,它可以在用C ++语言编写的应用程序中使用。
我使用C语言lseek()
来追逐表格,页面等。
我的问题是,是否可以按照我使用它的方式在C ++中使用lseek()
,如下面的示例代码:
/* Read page data from an offset. It assumes that pagenum is zero-indexed*/
lseek(bq.unixfd, PAGE_SIZE + (PAGE_SIZE * bq.pagenum), SEEK_SET);
非常感谢
答案 0 :(得分:1)
C ++标准明确允许在C ++中使用C标准库:
17.2 C标准库[library.c]
C ++标准库还提供了C标准库的功能,适合调整为 确保静态类型安全。
这里lseek
函数不是由C标准定义的,而是由POSIX.1函数定义的。无论如何,在支持它的系统上,它包含在标准C库中,并且可用于C ++程序,与标准 C函数完全相同。
话虽如此,在不了解您的更多要求(可移植性,性能,用例等)的情况下,我不能说使用低级IO功能是否是一个好主意,或者切换到C ++是否更好流。