问题标签 [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.
perl - 当它们在另一个包中被调用时,如何最好地覆盖/包装像 sysread 这样的核心函数
我正在开发一个用 Perl 编写的相当复杂的应用程序。我对这种语言相当有经验,但我只是对此感到困惑。
我正在使用一个模块 Foo,它使用 sysread 和 syswrite 对我传递给其构造函数的文件句柄(在本例中为双向套接字)进行各种操作。
我想做以下事情:从我正在编写的另一个模块(我们称之为 Bar),我想更改 sysread/write 的行为方式,仅在从属于 Foo 的方法中调用时
Sysread 等人需要在其他任何地方正常工作。可以安全地假设 sysread 的使用在 Foo 中不会改变。
我想这样做的原因是我需要跟踪从上述文件句柄读取/写入的字节数。在这一点上,这似乎是我可以获得此信息的唯一方法 - 基本上保存来自 sysread/write 的返回值。
只要质量好,我使用 CPAN 中的任何东西都没有问题。
更新:我为我的具体问题找到了更好的解决方案,并在此处发布了代码:
https://github.com/Hercynium/Tie-Handle-CountChars
它似乎在我的应用程序中运行良好,但在我对其进行更彻底的测试之前,我不会将它发布到 CPAN,并编写了一些实际的单元测试 :)
perl - 使用映射和文件句柄的 Perl 内存使用情况
使用perl时调用是否map { function($_) } <FILEHANDLE>;
将整个文件加载到内存中?
php - 仅在符号“#”时读取 txt 文件行的 PHP
我有这个txt文件结构:
我需要在 # 符号之后读取此文件数据。我的 PHP 代码只是为了阅读整行。
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。
multithreading - 通过 printf 和 scanf 进行线程通信(linux)
在 Linux 中工作并使用 C++。我有一个启动线程的程序。我需要主线程和子线程通过 printf 和 scanf 进行通信(两个线程的代码都使用 scanf 和 printf 并假设它与 stdin 和 stdout 通信。我必须保持这种方式)。我设法覆盖了 printf 和 scanf,因此我可以完全控制这些函数(并且我可以使用 *pthread_self* 来识别调用线程)。
剩下要做的是创建 2 个文件句柄,一个用于通信的每个方向,并缓冲通信。如何才能做到这一点?
写入磁盘上的文件并不能解决我的问题,因为通信可能很长,而且我无法将其存储在磁盘上。但是,我知道读取线程会在数据写入后不久读取数据,因此不需要太多缓冲。
特别重要的是,如果一个线程调用scanf("%s", &x)那么它将被阻塞,直到另一个线程写入一些字符串并添加空格(因此字符串在完全写入之前不会被读取)。
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
c++ - 获取不带扩展名的文件名?
我是 C++ 世界的新手,我遇到了一个非常琐碎的问题,即获取没有扩展名的文件名。
我有TCHAR
变量包含sample.txt
,并且只需要提取sample
,我使用PathFindFileName
函数它只返回我传递的相同值。
我尝试在谷歌上搜索解决方案,但仍然没有运气?!
编辑:我总是得到三个字母的文件扩展名,我添加了以下代码,但最后我得到了一些东西,比如Montage (2)««þîþ
如何避免最后出现垃圾字符?
php - 如何使用 php://memory 文件句柄执行 cURL PUT 请求?
我正在使用第 3 方 PHP 类来访问 API,它具有以下代码:
在最后一行,即这一行:
我收到错误:
警告:curl_setopt() [function.curl-setopt]:不能将 MEMORY 类型的流表示为 STDIO 文件*
我究竟做错了什么?
c - C中系统调用的文件句柄问题
在我的 C 程序中,我进行了一个执行“cat”UNIX 命令的系统调用,就像这样。
当我编译并运行程序时,命令没有正确执行。相反,我收到以下错误。
我的问题有两个。
- 为什么此代码无法正常工作,我该如何解决?
perl -e 'system("cat temp.txt")'
当我在命令行上尝试类似的操作时,它按预期工作。Perl 处理文件句柄的方式与 C 处理文件句柄的方式有什么区别?
谢谢!
更新:感谢评论,我很快就发现了问题。我在程序的早些时候不小心关闭了 stdout,这就是为什么cat
程序尝试打印到 stdout 时出现错误的原因。所以看起来 C 和 Perl 处理文件句柄的方式没有区别:以下命令生成完全相同的错误。
python - 在 Python 脚本中存储数据块的 Pythonic 方式是什么?
Perl 允许我__DATA__
在脚本中使用标记来标记数据块的开始。我可以使用 DATA 文件句柄读取数据。在脚本中存储数据块的 Pythonic 方式是什么?