问题标签 [fseek]

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 投票
1 回答
3075 浏览

php - 如何在 php 中读取放置在服务器上的视频文件 - 视频文件的名称包括 http 包装器

我正在使用以下代码,但似乎有警告fseek并返回 -1 而不是 0。

该文件肯定会打开,但fseek不起作用。还有其他方法可以从服务器读取视频吗?

以下是错误信息

0 投票
3 回答
13986 浏览

c - 如果以“a+b”模式打开文件,fseek() 是否会将文件指针移动到文件的开头?

我希望使用“a+b”模式打开一个文件,即如果它不存在它会自动创建,但如果它存在我不想覆盖它。我希望能够读取和写入文件。

该文件是二进制文件,我想在其中保存特定struct的记录。所以我想对我想要fseek()的记录做,然后使用fwrite().

代码如下所示(MyRecord是 atypedef到 a structFILENAME而是 a#define到文件名):

但是,即使我设置pos为 0,此代码也只是将记录附加到文件末尾。为什么不在附加模式下工作 fseek()SEEK_SET

我知道我可以简单地用“r + b”打开它,如果它失败用“wb”打开它,但我想知道为什么这不起作用以及为什么fseek()SEEK_SET文件指针留在最后。对记录此行为的地方的任何引用表示赞赏(因为我找不到任何内容,或者我使用了错误的关键字)。

0 投票
2 回答
4088 浏览

c - 从管道读取时如何在便携式 C 中向前搜索

由于fseek()不适用于管道,有什么方法可以模拟向前搜索?天真的方法是使用fread()并丢弃读入内存缓冲区的内容。对于巨大的寻求避免巨大的缓冲区,您将一遍又一遍地使用相同的缓冲区,最终读取仅使用缓冲区的一部分。

但这是唯一的方法吗?是否有另一种方法可以避免缓冲区和潜在的多次读取?

0 投票
3 回答
313 浏览

c - 文件内的有效随机访问?[C]

我有一个文本文件,用于保存其中出现的文件和单词(及其频率)的索引。我需要将文件读入内存并存储单词以便可以搜索它们。该文件的格式如下:

问题是这个索引文件可能会变得非常大,并且不会一次全部放入内存中。我的解决方案是一次只将其中的几个存储在 HashTable 中,然后当我需要获取另一个单词的数据时,我会踢出一个旧单词,然后从文件中解析新单词的数据。

如何在 C 中有效地完成此任务?我在想,一旦我到达某些点,我就必须对 fseek 和倒带做一些事情。

谢谢,
迈克

0 投票
5 回答
18921 浏览

c - 使用 fseek 和 ftell 确定文件大小有漏洞吗?

我已经阅读了展示如何使用 fseek 和 ftell 来确定文件大小的帖子。

我正要使用这种技术,但后来我遇到了这个描述潜在漏洞的链接。

该链接建议改用 fstat 。任何人都可以对此发表评论吗?

0 投票
2 回答
6908 浏览

php - PHP从特定位置附加到文件

在 php 中,我打开一个文本文件并附加到它。但是我需要在文件结尾之前附加 3 个字符。换句话说,我需要从文件中的特定位置追加/写入。

任何人都可以帮忙吗?

最好的问候鲁本

0 投票
3 回答
1971 浏览

c - fseek() 不起作用

我使用 a 和 r+ 打开了一个文件,但是当我使用 fseek 和 ftell 时,文件指针始终为 0。我的文件如下所示:

我想在两者之间添加另一行,但它是在最后一行之后添加的。另一个论坛中的某个人说,当您在 append 中打开文件时,指针始终为零,您必须在 r+ 中打开它,如果这不起作用“您必须读取完整的数据,然后将数据插入变量和写回来。” 但我不明白他们的意思。

任何人都可以帮助在文件中间插入数字吗?

谢谢!

像这样的东西会起作用吗?传输数据?

0 投票
2 回答
193 浏览

c - fseek() 导致数据重叠

我使用 fseek 和 fread 函数读取文件的指定块,然后将其写入另一个文件。由于某种原因,在目标文件中,我在其中写入的每个块之间都有大约 20 个字节的重叠。

谁能帮我确定这些垃圾的来源?它肯定是由 fseek 函数引起的,但我不知道为什么。

0 投票
3 回答
3534 浏览

matlab - 在 MATLAB 中从末尾开始读取文件

我想知道是否有人知道如何在 MATLAB 中打开和读取文件,从文件末尾开始读取。该文件不断更新(在读取之间以一些不恒定的速率),我想每次都读取文件的最后六行。

我还将包括一个测试,以验证我不会重复阅读相同的行两次。每一行的格式如下(每个变量都是一个浮点数):

我试图使用 fseek 将位置更改为文件的最后一行,但这仅允许我读取我认为的文件的最后一行,而不是向后读取文件,除非我指定一定数量的字节,这我不知道确切的字节数。

0 投票
3 回答
10548 浏览

c++ - fseek 现在支持大文件

现在看来 fseek 至少在我的实现中自然支持大文件,而没有 fseek64、lseek 或一些奇怪的编译器宏。

这是什么时候的事儿?

上面的代码以二进制 size_t 格式写入一个包含条目 1-10^9 的大文件。然后写入最后 10 个条目,从文件开头查找,从文件末尾查找。