作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的函数获取一个FILE*
来读取,它需要从某个非负偏移量开始读取。我可以使用 fseek(file, offset, SEEK_SET)
,但它在 stdin
上失败,例如。
如何确定 fseek
是否有效?如果没有,我可以读取并丢弃 offset
字节。
有没有一种方法可以在不分配读取缓冲区的情况下从 FILE
读取(并丢弃)?
最佳答案
您可以通过调用 fseek( file, offset, SEEK_SET)
并在出错时检查返回的 errno == EBADF
来测试 fseek 是否在该流上工作说“指定的流不是可查找的流”。
我认为您需要使用缓冲区读取和丢弃,但如果它只能是页大小字节并且您保留读取的字节数,则读取直到您执行相当于查找的操作。如果它是一个内存可映射文件,那么您可以不读而读,但是这样查找就会起作用。
关于c++ - "fastfwd"文件可以是管道/套接字/fifo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23998538/
我的函数获取一个FILE*来读取,它需要从某个非负偏移量开始读取。我可以使用 fseek(file, offset, SEEK_SET),但它在 stdin 上失败,例如。 如何确定 fseek 是否
我是一名优秀的程序员,十分优秀!