问题标签 [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.

0 投票
1 回答
196 浏览

php - 为什么我的 filesize() 方法不起作用?

为什么我的filesize()方法不起作用?我的路径适用于fread()andfile()方法,但它不会承认filesize(). 为什么不?我的正确路径应该是什么?

0 投票
1 回答
473 浏览

vb.net - C++ DLL 中的文件 I/O?

我正在尝试构建一个读取文本文件以填充二维数组的 dll,然后根据需要更改该数组。我正在使用 VB GUI 来访问它。整个程序是一个微型鼠标模拟器,用户可以在其中自定义 5x5 迷宫中的墙壁位置,以及鼠标起始位置和目标位置,并允许搜索算法 (dll) 解决它。这是我的dll中的代码:

我希望能够将两个输入变量作为矩阵的索引,并从该位置添加或减去一堵墙。每当我尝试从 VB 调用该函数时,它都会向我发送一条消息:PInvoke 限制无法返回变体。该函数不返回任何内容,所以我不明白...

这是我的 VB 程序中的声明语句:

我知道每次用户想要换墙时我都无法调用 fread 函数;我只是想先让这个工作一次。有什么想法吗?

0 投票
3 回答
4275 浏览

c - FREAD C 指针问题

嗨,我对指针有一个非常令人沮丧的问题,有人可以让我知道我在这里做错了什么。谢谢

0 投票
2 回答
224 浏览

php - PHP不会更新页面中打开一次的文件?

(对不起我的英语不好)
我尝试创建一个脚本 PHP 来显示文件的初始内容,更新它并显示更新的内容。
我需要按此顺序执行此操作。我已经在 fclose() 之前尝试过 fflush() 但它不起作用。

我的预期结果: -第一次
打开页面时

秒:0 -第一次
刷新页面时
:0
秒:0 0
-第一次再次刷新页面时
:0 0
秒:0 0 0
-依此类推。

我的结果是: -第一次
打开页面时

秒:0 -第一次
刷新页面时
:0
秒:0
-第一次再次刷新页面时
:0 0
秒:0 0
-依此类推。

代码:

为什么?有什么解决办法吗?

0 投票
3 回答
5388 浏览

php - 实现最佳的“fread”块大小?

好吧,我知道我的问题并不完全具体,因为最佳 fread 块大小更多是基于试错的事情。但是,我希望你们中的一些人可以对此有所了解。

这也涉及服务器相关的东西,所以不确定 Stackoverflow 是否完全正确,但与 ServerFault 相比,它似乎是一个更好的选择。

首先,我将发布两个屏幕截图:

http://screensnapr.com/e/pnF1ik.png

http://screensnapr.com/e/z85FWG.png

现在我有了一个脚本,它使用 PHP 将文件流式传输给最终用户。它使用 fopen 和 fread 流式传输文件。大多数这些文件都大于 100MB。我担心的是,有时,以上就是我的服务器统计信息。两个屏幕来自不同的服务器;两台服务器都是专用的文件流媒体盒。除了 PHP 将文件流式传输给最终用户之外,没有其他任何东西可以在它们上面运行。

我对这样一个事实感到困惑,即使我的服务器仅向最终客户端传输总计约 4MB/秒的数据,磁盘读取速度也在 100M/s 及以上。这种疯狂的 IO 级别最终会锁定我的 CPU,因为它等待 IO 和任务堆积;最终我的服务器变得完全没有响应,需要重新启动。

我当前的 fread 块大小设置为8 * 1024。我的问题是,改变块大小和试验是否有帮助?客户端仅以平均约 4MB/秒的速度下载数据。那么为什么磁盘以 100MB/秒的速度读取数据呢?我已经在服务器端尝试了所有可能的解决方案;我什至用新磁盘交换了磁盘以排除潜在的磁盘问题。在我看来这是一个脚本问题;也许 PHP 正在从磁盘读取整个数据,而不管它向最终客户端传输了多少数据?

任何帮助将不胜感激。如果这属于 ServerFault,那么我很抱歉在这里发帖。如果你们需要我从实际脚本中发布片段,我也可以这样做。

0 投票
2 回答
2486 浏览

c++ - 使用 fread 读取文件时重复最后一个条目

可能的重复:
为什么这个 C 代码有问题?
确定流结束时出现 EOF 问题

我正在尝试以 4 字节块读取二进制文件。然而,第一个实现(如下所示)将复制最后一个条目,并且只复制最后一个条目。

这种替代实现没有这个问题。什么时候应该使用 feof?为什么前面实现中的 feof 会导致最后一个条目被读取两次?有没有比我在 printf 语句中所做的那样转换指针更好的方法来构造缓冲区?这段代码还有什么问题吗?

0 投票
5 回答
12615 浏览

c++ - 二进制文件的 ifstream 与 fread

哪个更快?ifstreamfread
我应该使用哪个来读取二进制文件?

fread()将整个文件放入内存。
因此,在 之后fread,访问它创建的缓冲区很快。

是否ifstream::open()将整个文件放入内存?
还是每次运行时它都会访问硬盘ifstream::read()

那么... ifstream::open()==fread()吗?
或 ( ifstream::open(); ifstream::read(file_length);) == fread()

还是我应该使用ifstream::rdbuf()->read()

编辑: 我的 readFile() 方法现在看起来像这样:

小方法中的多个 fin.read() 调用会减慢程序的速度吗?我应该只在主方法中使用 1 fin.read() 并将缓冲区传递给小方法吗?我想我要写一个小程序来测试。

谢谢!

0 投票
2 回答
2786 浏览

php - PHP:字节数 fread

假设我读了一些这样的字节:

由于fread如果到达文件末尾将停止读取,我如何才能确切知道读取了多少?会strlen($data)工作吗?或者这可能是错误的?


我想要完成的是读取一些字节,然后回到我阅读之前的位置。而且我试图避免使用算术(ftell, fread, ftell, subract, fseek),因为文件可能大于PHP_INT_MAX并且可能会弄乱它。我想要的只是做fseek($fp, -$bytes_read, SEEK_CUR),但为此我需要知道我刚刚读了多少字节......

0 投票
2 回答
2170 浏览

fread - 读取二进制文件

所以我正在尝试读取已提供的文件系统磁盘。

所以,我想做的是从文件系统中读取 1044 字节。我目前正在做的事情如下:

检查应该打印的值是 1。但是我得到的负值在每次运行文件时都会不断变化。我不明白我做错了什么。我是否采取了正确的方法来读取磁盘字节并打印它们。

我基本上想要做的是读取磁盘的字节,并读取某些字节的值。这些字节是有助于我理解磁盘结构/格式的字段。

任何帮助,将不胜感激。谢谢你。

0 投票
2 回答
280 浏览

linux - Linux:在线程中进行像 fadvise 这样的系统调用的最具可扩展性的设计是什么?

我的服务器有以下要求:

1) 每个与服务器的新连接都会触发一系列 N posix_fadvise 调用。2) 每个连接的前几个 fadvise 调用应尽快发生 3) 如果客户端发出后续请求,则能够重新排序 fadvise 调用。

我在想:带有共享队列的线程池,其中线程池大小约为 100。还有其他建议吗?