问题标签 [stdin]

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 投票
2 回答
8833 浏览

batch-file - 当从批处理运行的应用程序与标准输入混淆时,如何将标准输入提供给批处理文件?

这是一个最小的批处理文件demo.bat,来说明我的问题:

foo.txt我有一个看起来像这样的输入文件:

我将批处理文件作为demo.bat < foo.txt. 输出是:

如果我删除sqlcmd -?, 那么 bar 被“键入”为bar_value,这是我最初所期望的。

所以,在我看来,sqlcmd使用不适合它的标准输入以某种方式表现不佳。有人对我如何解决它有任何好主意吗?在一个完美的世界中,该解决方案不会涉及更改原始批处理文件,或涉及安装第三方包来驱动交互(例如,Expect)。

0 投票
4 回答
5580 浏览

java - Java:在单独的进程中运行 Callable

给定一个实例xCallable<T>如何x在单独的进程中运行,以便可以重定向进程的标准输入和输出?例如,有没有办法Process从 a 构建 a Callable?是否有Executor控制输入和输出的标准?

Callable[更新]在新进程中执行而不是在新线程中执行并不重要。我想要的是把Callable实例放在“线束”中,这样​​我就可以控制它的标准输入/标准输出。AFAIK,这需要一个新的过程。

0 投票
8 回答
4824 浏览

c++ - printf("something\n") 输出 "something" (附加空间) (g++/linux/用 gedit 读取输出文件)

我有一个简单的 C++ 程序,它读取stdinusingscanf并将结果返回到stdoutusing printf

我正在用 g++ 编译并在 linux 下运行。我使用文本文件作为输入执行程序,并将输出通过管道传输到另一个文本文件,如下所示:

程序 <in.txt> out.txt

问题是 out.txt 看起来像这样:

结果1_
结果2_ 结果
3_
...

其中 '_' 是每行末尾的额外空格。我正在 gedit 中查看 out.txt。

如何在没有额外空间的情况下产生输出?

我的输入文件如下所示:

2 123
123 123 123
123 234 212

编辑:我能够找到解决此问题的方法:printf("\rfoo"); 感谢您的输入!

0 投票
1 回答
1164 浏览

c# - SSMS 的 C# 外部工具 - 从标准输入读取

我正在尝试编写一个利用 SQL Server Management Studio 的外部工具功能的应用程序。

要指定外部工具,您可以输入应用程序的路径并指定一些参数以通过 STDIN 传递给应用程序。

目前我只有一个显示参数的表单。每次我运行外部工具时,我都会得到一个新的应用程序实例。

理想情况下,我希望第一次运行该工具来加载应用程序,然后每次运行都从 STDIN 获取参数并对其进行处理,而无需创建应用程序的新实例。

有什么我可以做的可以允许这个,还是我被很多窗户困住了?

提前致谢

0 投票
2 回答
9408 浏览

bash - 在 bash 脚本中临时重定向 stderr

我有一个简单的脚本,用于启动另一个程序。这个其他程序有时可能会产生一个SIGSEGV,这会破坏我的输出。因此,我添加了几行应该临时将 重定向stderr到被忽略/dev/null的行。SIGSEGV以下是我的代码草稿:

问题是最后一行没有做我想要的。第一行显然有效,并将stderr. 最后一行应该返回stderr到它之前的位置(我只认为它与 相同stdout)。

任何帮助将不胜感激!

0 投票
4 回答
12959 浏览

.net - 如何将输入发送到控制台,就像用户正在打字一样?

这是我的问题。我有一个必须在 TTY 中运行的程序,cygwin 提供了这个 TTY。当我重定向 stdIn 时,程序失败,因为它没有 TTY。我不能修改这个程序,需要一些自动化的方法。

如何获取 cmd.exe 窗口并向其发送数据并使其认为用户正在键入它?

我正在使用 C#,我相信有一种方法可以使用 java.awt.Robot 来做到这一点,但出于其他原因我必须使用 C#。

0 投票
2 回答
631 浏览

java - AIR 1.5 应用程序有没有办法从标准输入读取并写入标准输出/标准错误?

一直在研究 Adob​​e AIR 1.5 的文件系统相关类,但是到目前为止我还没有看到任何提到如何与 stdin/stdout/stderr 交互的东西。有点令人惊讶,因为 AIR 使得与本地文件系统交互成为可能,并且有一个 FileStream 类。

我想从父进程启动 AIR 应用程序,然后通过 stdin/stdout 通过异步 i/o 与 AIR 应用程序交互。将避免需要在本地主机上使用端口并进行套接字 i/o。(是的,这是关于以Merapi风格的跨平台方式桥接 java 和 AIR 。)

0 投票
1 回答
3296 浏览

c# - C# 控制台程序 - 阻止 STDIN 转到 STDOUT

我正在用 C#、.NET 2.0 编写一个简单的控制台应用程序。它使用线程计时器启动新线程,同时解释主线程上的命令。

我目前采取三个命令: P - 暂停 C - 继续 Q - 退出

此功能运行良好,但不幸的是,当我键入 P、C 或 Q(或任何其他字符)时,该字符会转到 STDOUT。有没有办法可以以编程方式阻止它?知道我是否可以禁用和重新启用 STDIN -> STDOUT 也会很有用。

提前致谢。

0 投票
3 回答
7796 浏览

c++ - C/C++ 从标准输入的十六进制输入中读取一个字节

无法完全找到如何在 C/C++ 中执行以下操作的方法。

输入:十六进制值,例如:ffffffffff...

为了读取输入,我尝试了以下代码:

这一切都很好,但是我如何将 2bytes 拆分为 1bytesuint8_t值(或者甚至可能只读取第一个字节)。想从输入中读取第一个字节,并将其存储在字节矩阵中的选择位置。

由于我在格式化/读取 C/C++ 中的输入方面不是很熟练(并且到目前为止只使用了 scanf),因此非常感谢任何其他关于如何轻松(如果可以的话,速度很快)的想法。

编辑:通过使用 fread 函数找到了一种更好的方法,因为它可以指定应该从流中读取多少字节(在这种情况下为标准输入)并保存到变量/数组中。

参数

ptr - 指向最小大小为 (size*count) 字节的内存块的指针。

size - 要读取的每个元素的大小(以字节为单位)。

count - 元素的数量,每个元素的大小为 size 字节。

stream - 指向指定输入流的 FILE 对象的指针。

cplusplus 参考

0 投票
2 回答
9346 浏览

perl - 如何在不使用 select 的情况下在 Perl 中检查(窥视)STDIN 以获取管道数据?

我正在尝试处理没有参数和管道数据传递给 Perl 脚本的可能性。我假设如果没有参数,那么输入将通过 STDIN 进行管道传输。但是,如果用户没有提供任何参数并且没有向脚本传递任何内容,它将尝试获取键盘输入。我的目标是提供错误消息。

不幸的是,select()它不能移植到一些非 POSIX 系统。是否有另一种方法可以最大限度地提高便携性?