问题标签 [filehandle]

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 回答
431 浏览

perl - 当它们在另一个包中被调用时,如何最好地覆盖/包装像 sysread 这样的核心函数

我正在开发一个用 Perl 编写的相当复杂的应用程序。我对这种语言相当有经验,但我只是对此感到困惑。

我正在使用一个模块 Foo,它使用 sysread 和 syswrite 对我传递给其构造函数的文件句柄(在本例中为双向套接字)进行各种操作。

我想做以下事情:从我正在编写的另一个模块(我们称之为 Bar),我想更改 sysread/write 的行为方式,仅在从属于 Foo 的方法中调用时

Sysread 等人需要在其他任何地方正常工作。可以安全地假设 sysread 的使用在 Foo 中不会改变。

我想这样做的原因是我需要跟踪从上述文件句柄读取/写入的字节数。在这一点上,这似乎是我可以获得此信息的唯一方法 - 基本上保存来自 sysread/write 的返回值。

只要质量好,我使用 CPAN 中的任何东西都没有问题。


更新:我为我的具体问题找到了更好的解决方案,并在此处发布了代码:

https://github.com/Hercynium/Tie-Handle-CountChars

它似乎在我的应用程序中运行良好,但在我对其进行更彻底的测试之前,我不会将它发布到 CPAN,并编写了一些实际的单元测试 :)

0 投票
3 回答
1512 浏览

perl - 使用映射和文件句柄的 Perl 内存使用情况

使用perl时调用是否map { function($_) } <FILEHANDLE>;将整个文件加载到内存中?

0 投票
4 回答
123 浏览

php - 仅在符号“#”时读取 txt 文件行的 PHP

我有这个txt文件结构:

我需要在 # 符号之后读取此文件数据。我的 PHP 代码只是为了阅读整行。

0 投票
3 回答
848 浏览

perl - perl 保存 utf-8 文本问题

我正在玩 pplog,一个单文件文件基础博客。

写入文件代码:

输入文本:

存储到文件后,变为:

我可以使用 Eclipse 来编辑文件并使其正常渲染。打印到文件期间存在问题。

一些基本信息:Strawberry perl 5.12 without use utf8;尝试使用 utf8;,没有效果。

谢谢你。

--- 编辑 --- 感谢您的评论。我追踪了代码:

代码添加新内容:

sub r 将命令转发到 CGI.pm 函数。

在 CGI.pm

进一步跟踪问题,发现浏览器默认为iso-8859-1,即使手动设置为utf-8,它会将字符串作为iso-8859-1发送回服务器。

最后,

将 -charset => qw(utf-8) 参数添加到标题中。中国诗还是中国诗。

感谢 Schwern 的评论,它启发了我去追查问题并学习 leeson。

0 投票
1 回答
1170 浏览

multithreading - 通过 printf 和 scanf 进行线程通信(linux)

在 Linux 中工作并使用 C++。我有一个启动线程的程序。我需要主线程和子线程通过 printf 和 scanf 进行通信(两个线程的代码都使用 scanf 和 printf 并假设它与 stdin 和 stdout 通信。我必须保持这种方式)。我设法覆盖了 printf 和 scanf,因此我可以完全控制这些函数(并且我可以使用 *pthread_self* 来识别调用线程)。

剩下要做的是创建 2 个文件句柄,一个用于通信的每个方向,并缓冲通信。如何才能做到这一点?

写入磁盘上的文件并不能解决我的问题,因为通信可能很长,而且我无法将其存储在磁盘上。但是,我知道读取线程会在数据写入后不久读取数据,因此不需要太多缓冲。

特别重要的是,如果一个线程调用scanf("%s", &x)那么它将被阻塞,直到另一个线程写入一些字符串添加空格(因此字符串在完全写入之前不会被读取)。

0 投票
2 回答
581 浏览

objective-c - Objective-C 文件 i/o 错误

上面的代码出现以下错误

2011-07-07 21:38:08.703 iMessages[86493:903]-[NSPlaceholderString stringWithContentsOfFile:encoding:error:]: 无法识别的选择器发送到实例 0x100111690

2011-07-07 21:38:08.704 iMessages[86493:903]-[NSPlaceholderString stringWithContentsOfFile:encoding:error:]: 无法识别的选择器发送到实例 0x100111690

0 投票
5 回答
20865 浏览

c++ - 获取不带扩展名的文件名?

我是 C++ 世界的新手,我遇到了一个非常琐碎的问题,即获取没有扩展名的文件名。

我有TCHAR变量包含sample.txt,并且只需要提取sample,我使用PathFindFileName函数它只返回我传递的相同值。

我尝试在谷歌上搜索解决方案,但仍然没有运气?!

编辑:我总是得到三个字母的文件扩展名,我添加了以下代码,但最后我得到了一些东西,比如Montage (2)««þîþ如何避免最后出现垃圾字符?

0 投票
1 回答
6100 浏览

php - 如何使用 php://memory 文件句柄执行 cURL PUT 请求?

我正在使用第 3 方 PHP 类来访问 API,它具有以下代码:

在最后一行,即这一行:

我收到错误:

警告:curl_setopt() [function.curl-setopt]:不能将 MEMORY 类型的流表示为 STDIO 文件*

我究竟做错了什么?

0 投票
1 回答
384 浏览

c - C中系统调用的文件句柄问题

在我的 C 程序中,我进行了一个执行“cat”UNIX 命令的系统调用,就像这样。

当我编译并运行程序时,命令没有正确执行。相反,我收到以下错误。

我的问题有两个。

  1. 为什么此代码无法正常工作,我该如何解决?
  2. perl -e 'system("cat temp.txt")'当我在命令行上尝试类似的操作时,它按预期工作。Perl 处理文件句柄的方式与 C 处理文件句柄的方式有什么区别?

谢谢!

更新:感谢评论,我很快就发现了问题。我在程序的早些时候不小心关闭了 stdout,这就是为什么cat程序尝试打印到 stdout 时出现错误的原因。所以看起来 C 和 Perl 处理文件句柄的方式没有区别:以下命令生成完全相同的错误。

0 投票
4 回答
4041 浏览

python - 在 Python 脚本中存储数据块的 Pythonic 方式是什么?

Perl 允许我__DATA__在脚本中使用标记来标记数据块的开始。我可以使用 DATA 文件句柄读取数据。在脚本中存储数据块的 Pythonic 方式是什么?