问题标签 [fread]
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.
c - fread() 行为怪异
我在我的 C 程序中遇到问题,在我使用 后fread()
,文件指针有时会转到文件末尾。
我会尝试更好地解释 - 代码看起来像:
指向打开文件的文件指针在哪里fp
(用“w +”打开它,我将它用作二进制文件,我知道我应该在那里也有一个“b”,但我听说它并不重要添加它..),
dummy
只是一个unsigned long
变量,并且buf
是unsigned char[8]
现在,在调试时,在ftell
之前fread
,dummy
是 262062,在ftell
之后fread
,dummy
是 262640,即使我只“移动”了 8 个字节..
有谁知道这可能是什么原因..?感谢您的帮助 :)
php - 文件计数器加 2 而不是 1
我做了一个简单的计数器,但它增加了 2 而不是 1。
每次我读取文件时,它都会增加 2,而不是 1。
php - 为什么 fread() 在 .php 文件和 .txt 文件上会有所不同?
fread()
从 .php 文件读取 .txt 文件时,该函数无法工作(不显示错误)有什么原因吗?
代码
c - 为什么我在 C 中使用 fread() 没有得到预期的结果?
这是我的代码:
这是预期的输出
但这是我从我的程序中看到的
我的明显猜测是我要么处理错误并收到错误的数据,要么我打印不正确并以错误的方式查看它。
c - 很多关于文件 I/O 的问题(读/写消息字符串)
对于我正在做的这个大学项目(我过去曾为此发过几篇文章),这是某种社交网络,它需要用户交换消息的能力。
起初,我将数据结构设计为将所有消息保存在一个链表中,将消息大小限制为 256 个字符。但是,我认为如果我将消息保存在磁盘上并仅在需要时阅读它们,我的老师会更喜欢它们。当然,他们不会说他们喜欢什么,我需要做出选择并尽我所能证明我为什么走那条路。
要记住的一件事是,我只需要保存来自每个用户的最新 20 条消息,不再需要了。
现在我有一个哈希表作为收件箱,这将在用户配置文件中。此哈希表将按名称(发送消息的用户)进行索引。每个元素的值将是一个数据结构,包含一个包含 20 个元素的数组size_t
(如我上面所说的 20 条消息)。这个想法是跟踪磁盘文件的偏移量和写入的字节数。然后,当我需要读取消息时,我只需要使用fseek()
和读取必要的字节即可。
我认为这可以很好地工作......我可以只使用一个文件来保存来自网络中所有用户的所有消息。我说的是一个文件,因为一位同事问一位讲师关于独立保存每个用户的消息,他回答说这可能不是最好的方法,因为文件系统有它的限制。这就是为什么我正在考虑采用单文件路线。
但是,这带来了一个问题......因为我只需要保存最新的 20 条消息,所以当我达到这个限制时,我需要丢弃旧的消息。
我不知道该怎么做......我所知道的只是fread()
从fwrite()
文件读取/写入字节。如何转到文件偏移量并说“嘿,删除以下 X 个字节”?即使我能做到这一点,还有另一个问题......低于那个偏移量的所有偏移量都将完全不同,我必须处理所有用户邮箱来解决问题。那会很痛苦...
那么,有什么建议可以解决我的问题吗?你有什么建议?
java - Java gzip.read 和 PHP fread() 给出不同的结果
我在 Java 中有一行,在我得到数字时:
从 while 号开始:
当我想在 php 中使用时:
返回时:
如何使 PHP 结果相同?
c - 在 C 中 fopen/fread/fgets PID 安全吗?
各种用户正在浏览一个 100% 用 C (CGI) 编程的网站。每个网页都使用 fopen/fgets/fread 从文件中读取常用数据(如导航栏)。如果不同的人浏览同一个页面,每个对 fopen/fgets/fread 的调用是否会相互干扰?如果是这样,如何在 C 中解决这个问题?(这是一个 Linux 服务器,编译是用 gcc 完成的,这是一个用 C 编程的 CGI 网站。)
例子:
c - 使用 fwrite/fread 和数据结构的几个问题
我正在使用fwrite()
并且fread()
第一次将一些数据结构写入磁盘,并且我有几个关于最佳实践和正确做事方式的问题。
我正在写入磁盘(以便以后可以将其读回)是插入到 Graph 结构中的所有用户配置文件。每个图顶点属于以下类型:
这就是我目前将所有配置文件写入磁盘的方式:
笔记:
- 您看到的第一个
fwrite()
将在图表中写入总用户数,这样我就知道需要读回多少数据。 break
用于测试目的。有成千上万的用户,我仍在试验代码。
我的问题:
- 读完这篇文章后,我决定
fwrite()
在每个元素上使用而不是编写整个结构。我还避免将指针写入邮箱,因为我不需要保存该指针。那么,这是要走的路吗?fwrite()
整个结构的多个而不是全局?那不是更慢吗? - 如何回读此内容?我知道我必须使用
fread()
,但我不知道字符串的大小,因为我曾经strlen()
写过它们。我可以strlen()
在写字符串之前写出输出,但是有没有更好的方法没有额外的写?
php - PHP最快的读取服务器响应的方法
我在使用fgets
获取服务器对我正在进行的一些批处理数据库调用的响应时产生的延迟存在一些实际问题。
我正在发送一批比如说 10,000 个呼叫,并且我已经跟踪到 fgets 的滞后,导致我的应用程序速度受阻,因为需要获取每个呼叫的响应。
我发现这个线程http://bugs.php.net/bug.php?id=32806很好地解释了这个问题,但他正在读取一个文件,而不是服务器响应,所以fread
可能有点棘手,因为我可以得到一部分下一行,以及我不想要的额外内容。
所以我的问题是,作为 fgets 的替代方法,从服务器读取响应的最佳/最快方法是什么?