问题标签 [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 投票
7 回答
7011 浏览

c - 读取大型二进制文件每 30 个字节的最快方法?

读取大型二进制文件(2-3 GB)的每 30 个字节的最快方法是什么?我已经读过 fseek 由于 I/O 缓冲区存在性能问题,但我也不想在抓取每 30 个字节之前将 2-3 GB 的数据读入内存。

0 投票
6 回答
9509 浏览

performance - fseek() 是如何在文件系统中实现的?

这不是一个纯粹的编程问题,但是它会影响使用 fseek() 的程序的性能,因此了解它的工作原理很重要。一点免责声明,以免它被关闭。

我想知道在文件中间插入数据的效率如何。假设我有一个包含 1MB 数据的文件,然后我在 512KB 偏移处插入了一些东西。与在文件末尾附加我的数据相比,效率如何?为了使示例完整,假设我想插入 16KB 的数据。

我知道答案因文件系统而异,但是我假设常见文件系统中使用的技术非常相似,我只想了解它的正确概念。

0 投票
3 回答
1365 浏览

c - 自制 fstat 获取文件大小,总是返回 0 长度

我正在尝试使用我自己的函数从文件中获取文件大小。我将使用它来为数据结构分配内存以保存文件上的信息。

文件大小函数如下所示:

有什么想法我在这里做错了吗?

0 投票
3 回答
1863 浏览

c - 逐行读取数组中的文件

您可以将数组的任何索引设置为起始索引,即从文件中读取的位置吗?我担心缓冲区是否会在此过程中损坏。

0 投票
10 回答
30043 浏览

php - 使用 fseek 逐行向后读取文件

如何使用 fseek 逐行读取文件?

代码可能会有所帮助。必须是跨平台的纯php。

提前谢谢了

问候

杰拉

0 投票
0 回答
2057 浏览

php - 在 php 中添加文件的最佳方法

在php中将字符串添加到文件中

  • 文件的大小可能非常大。
  • 需要一个最佳解决方案,同时将性能作为关键因素。

这就是我到目前为止所拥有的

0 投票
3 回答
30575 浏览

c - 在c中将数据插入文件

我需要在现有文件的第 45字节之前添加一个字符串。我尝试使用fseek如下所示。

我希望这段代码会在 EOF 的第 45字符之前添加“test”,相反,它只是将“test”附加到 EOF。

请帮助我找到解决方案。

这是我之前的问题的延续
将项目附加到 c 中最后一行之前的文件

0 投票
3 回答
2176 浏览

c - 从 C 中的文件中读取特定行数(scanf、fseek、fgets)

我有一个进程主进程,它产生N 个通过未命名管道与父进程通信的子进程。我必须能够:

  • 让父亲打开文件,然后向每个孩子发送一个结构,告诉它必须从minmax行读取;
  • 这将同时发生,所以我不知道:
  • 第一个如何为 N 个地图划分 total_lines 和
  • 第二,我如何让每个孩子只读它应该读的行?

我的问题不涉及操作系统概念,只涉及文件操作:S

也许fseek?我无法映射日志文件(有些超过 1GB)。

我会很感激一些想法。先感谢您

编辑:我试图让孩子们在不使用 fseek 和块的值的情况下阅读相应的行,所以,有人可以告诉我这是否有效吗?:

我不知道它是否会起作用,我只是让它起作用!即使这样,是否有可能优于读取整个文件并打印在日志文件中找到的 ips 总数的单个进程?

0 投票
1 回答
2351 浏览

c - 磁盘上的链表数组

我试图找到如何在磁盘上存储和处理(搜索、添加、删除)链表数组。例如在内存中,它想

  1. 我相信通过使用 fseek() 我可以指向文件中数组的特定元素/结构。但是我无法理解是否需要编写所有先前的元素。
  2. 这可以通过磁盘上的动态分配来完成吗?
  3. 如何将元素链接到链接列表中的另一个元素?任何例子肯定会有所帮助!
0 投票
3 回答
7937 浏览

c - C 程序:如何正确使用 lseek() 或 fseek() 修改文件的某个部分?

我有一个包含多条记录的 CSV 格式的二进制文件。每条记录都以 user_name、last_name、first_name、num_wins、num_losses、num_ties 的形式输入。我正在创建一种方法来更新某些玩家的赢、输和平局记录。用户输入要更改的用户名,然后更改胜负和平局。例如 smithj 4 5 1。这将找到 smithj 记录并将 4 添加到胜利等。

如何使用 lseek 或 fseek 来完成此操作?还是有其他方法可以做到这一点?