问题标签 [fgetpos]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
3182 浏览

c++ - 确定大于 4GB 的文件的大小

代码当前执行此操作,并且 fgetpos 确实处理大于 4GB 的文件,但搜索返回错误,所以知道如何搜索到 a 的末尾file > 4GB吗?

0 投票
2 回答
549 浏览

c++ - c ++ fread奇怪地改变了fgetpos

如果我运行:

我得到 ret = 9 和 pos = 9。

但是,如果我跑

ret = 10 符合预期,但 pos = 11!

怎么会这样?

0 投票
5 回答
287 浏览

c - c fgetpos 给出错误的位置

我是 C 新手,我有这个代码:

然而,这返回 40,即使它应该返回 64。我做错了什么?

0 投票
1 回答
3428 浏览

c - ftello/fseeko vs fgetpos/fsetpos

ftello/fseekofgetpos/和有什么不一样fsetpos?两者似乎都是使用不透明偏移类型的文件指针获取/设置函数,有时允许 64 位偏移。

它们是否在不同的平台或不同的标准上得到支持?它使用的偏移类型是否更灵活?

而且,顺便说一句,我知道fgetpos/fsetpos 和 ftell/fseek 之间有什么区别,但这不是重复的。该问题询问有关 ftell/fseek 的问题,而答案不适用于 ftello/fseeko。

0 投票
1 回答
288 浏览

c++ - 跳过 59GB fastq 文件的前半部分来处理后半部分:逐行读取,还是 fgetpos?

我有 2 ~59GB 的“.fastq”格式的文本文件。fastq 文件是从测序仪读取的基因组学文件。每 4 行是一个新的读取,但这些行的大小是可变的。

文件大小大约为 59GB,大约有 211M 读取——这意味着,给或取,大约 211M*4 = 844M 行。我正在使用的程序 Bowtie 目前能够执行以下选项:

“--跳过 105M --qupto 105M”

这本质上意味着“跳过前 105M 读取,只处理下一个 105M 读取”。通过这种方式,您可以分解文件的处理。问题是,它跳过的方式非常慢。它只是像往常一样读取前 105M 读取,但不处理它们。然后,一旦达到给出的读取值,它就会开始比较。

我想知道我是否可以使用 C/C++ 的 fsetpos 之类的东西将位置设置为文件的中间[或任何地方],我意识到这可能会将我放在一行中间的某个位置,然后从那里找到开始第一次完整读取开始处理,而不是等待它读取大约 422M 行,直到它到达它需要去的地方。有没有人有在这么大的文件上做 fsetpos 的经验,并且知道性能是否比它目前的表现更好?

谢谢——尼克

0 投票
2 回答
125 浏览

wordpress - 在单个帖子页面中覆盖 get_posts 方法的位置

我们遇到了性能问题我们需要$get_posts在主帖子单页中自定义方法方法的调用但是我们找不到它的代码在哪里我们想要覆盖$q['fields']这部分中的数组

0 投票
1 回答
114 浏览

c - 在捆绑包中打开文件时,fgetpos 在 iOS 6.1 模拟器中失败

我正在研究一些多平台 C++ 代码。因此需要使用 fopen、fgetpos 等。以下内容较早在 iOS 上运行,并且随着我更新到最新版本,它停止运行。

我在 Shaders 文件夹中有几个文本文件 Shader.vsh 和 Shader.fsh,它们被复制到包中。为了打开文件,我执行以下操作..

此时,fp 为非 NULL。所以我认为它成功了。后来,当我尝试做

结果 = -1 和 errno = 0x2,我认为这是找不到文件。

正如我之前提到的,这曾经在某个时候在以前的版本上工作。我再次开始处理这个问题,并在此过程中更新到最新的 XCode 等,然后事情就停止了。

我传递给 fopen 的文件路径原来是 /Users/shammi/Library/Application Support/iPhone Simulator/6.1/Applications/9132490F-71AC-4C61-A584-E8F6C5B261FF/TestApp.app/Shaders/Shader.vsh我能够在 finder/console 中查看并打开该文件并确认其有效。

我究竟做错了什么?是否有另一种选择可以让我使用便携式 IO 功能?

0 投票
1 回答
456 浏览

c++ - `fgetpos` 没有返回正确的位置

更新:为了解决下面的问题,我已经完成了

然后这将为我的文件返回正确的位置。但是,我仍然想了解为什么会发生这种情况?


我想获得文本文件中的位置。对于大多数文件,我一直在阅读第一行,存储位置,做一些其他的事情,然后返回到位置......

使用提供给我的所有文件,存储fgetposfsetpos工作正常。问题在于我创建的文件看起来像

例如

这几乎与提供的文件相同。问题是上面的文件fgetpos(m_pFile, &position);没有返回正确的position(我知道这fpos_t position是特定于实现的)。在第一次之后,ReadLine我得到了position58 (从 60 编辑),所以当我尝试阅读第二行时

我明白了

700

代替

选择:函数 ADJEXCL

为什么fgetpos不返回第一行末尾的位置?


_笔记。Utils.ReadLine方法是:


编辑。按照评论中的调试建议,我添加了以下代码

0 投票
1 回答
388 浏览

c - fsetpos does not set the file pointer's position as expected

So, i suggest to my self these:

  1. use fseek. Why do i bother my self with this? No, I will not use it. If I will use it, I will need to write more than 50 lines of code just because of that. Inefficient.
  2. Use fseek but not like in suggestion #1. Use it along with fsetpos like this: fsetpos updates the pos1 & pos2 variables and then use them - by "a" some how code- as arguments for the offset argument in the fseek function! This is a very nice idea but it has two drawbacks: First: pos1 and pos2 are of a weird type of data. How can I get them into offset argument and their type of data does not match. Second: I am like trying to treat the problem from its leaves rather than its root. Inefficient.
  3. Post here.
0 投票
3 回答
648 浏览

c - fgetpos() 和 fsetpos() 是否仅适用于文本模式?如果不是字节数,fpos_t 对象填充了哪些位置/偏移数据?

我了解 C 中 ftell() 和 fseek() 的工作原理,但是对于这个问题,我在任何地方都找不到任何准确的答案,包括 StackOverflow( LINK ) 上最近的帖子。

那么您能否回答以下问题:

  • 是否可以断定 fgetpos() 和 fsetpos() 仅与以文本模式打开的文本文件相关,而与以二进制模式打开的文件无关?
  • 什么样的位置信息是由 fgetpos() 填充的 fpos_t 对象,假设它不是像 ftell() 给出的那样的长整数偏移量等?站点cplusplusreference仅告诉以下内容:

该函数用流位置指示符所需的信息填充 pos 指向的 fpos_t 对象,以将流恢复到其当前位置