[英]DIfference between C and C++ ( lseek() )
我正在尝试重新设计我以前使用C编写的项目的API,以便可以在以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);
非常感谢
C ++标准明确允许在C ++中使用C标准库:
17.2 C标准库[library.c]
C ++标准库还提供了C标准库的功能,并对其进行了适当调整以确保静态类型安全。
这里的lseek
函数不是由C标准定义的,而是由POSIX.1定义的。 无论如何,在支持它的系统上,它都包含在标准C库中,并且可以与标准 C函数完全相同地提供给C ++程序使用。
就是说,在不了解您的更多需求(可移植性,性能,用例等)的情况下,我不能说使用低级IO功能是个好主意还是切换到C ++流是否更好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.