fseek(myFILEptr, 0, SEEK_END)
和myifstream.seekg(0, std::ios::end)
如何运作?
他们是否必须检查每个角色,并且他们的时间复杂度与文件的大小成线性关系?它比那更聪明吗?典型文件系统提供哪些信息来处理?
这些部分是由语言标准解决的,哪些不是?对于那些没有标准的部件,是否有事实上的标准?
我将C和C ++组合在一起是因为我希望每个人的答案几乎相同,甚至C ++函数可以并且可能经常根据C函数实现。这是对的吗?
答案 0 :(得分:5)
在实践中,语言实现依赖于操作系统来处理(依赖于文件系统)。例如,POSIX提供lseek
系统调用。