问题标签 [stdio]

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

c - scanf() 是如何工作的?

在 Windows 上,

计算机跳过从控制台检索字符,因为 '\n' 仍在缓冲区中。但是,我发现下面的代码运行良好。

就像上面的情况一样,'\n' 保留在缓冲区中,但是为什么这次 scanf 成功地从控制台获取了字符串?

0 投票
2 回答
520 浏览

c - 快速的“C”库透明地管理非常大的文件

我需要保存大量数据 (>500GB),这些数据正在从连接到我的 PC 的另一台设备流式传输 (800Mb/s)。速度排除了使用数据库,例如 MySQl/ISAM,我正在寻找一个快速、轻量级的库,它位于“C”stdio 文件库(即 fopen/fclose/fwrite)之上,它允许我写/读一个非常大的文件(最多可用磁盘空间)。

在幕后,大文件可以分解成较小的文件,例如 1GB,我希望 API 处理这些细节。

数据以压缩的二进制格式到达 PC,在将其写入硬盘之前无需进一步处理。

该库应该适用于 Windows 和 Linux。

0 投票
1 回答
233 浏览

c - 捕获从命令行返回的空输出并在其为空时显示一些消息

当脚本“ check.sh ”没有返回任何内容时,我需要在我的窗口中打印一些内容,这意味着当脚本没有返回任何输出时进行验证。

check.sh 不包含任何内容。它只是一个空白的 sh 文件,执行时不返回任何内容。我正在使用一个空的 sh 文件进行测试(我无法向您展示确切的脚本,这就是原因)。

当 check.sh 什么都不返回时,我想打印一些消息,例如通过 C 进行“配置某些东西”。

我用 "\n","\r","\0",NULL. 检查了缓冲区行(检查下面的模块)。我不知道脚本什么都不返回时会发生什么

我将把模块称为execute_command("sh check.sh")

这是我的模块

0 投票
4 回答
9104 浏览

java - 并发/非阻塞控制台键盘输入

我正在用java开发一个MUD。我每次都读取玩家输入,但我使用Scanner的是阻塞操作。我想要非阻塞输入。

我查看了包含类的nioSelector,但我不确定如何使用它来处理System.in. 我想一旦我运行服务器,我肯定会需要它,但现在一切都处于脱机状态。

我已经尝试从Applet和覆盖扩展主类keyDown,但这只是意味着在第一个之后不再接受输入。当然,我不再阻止任何东西,但是没有更多的输入。keyDown我猜,再也没有接到电话。

也许线程即使在执行阻塞操作时也会被中断?

感谢您对此问题的任何见解。

0 投票
4 回答
543 浏览

linux - stdio 通信的安全性

在我正在开发的程序(Linux)中,我需要非常简单的基于文本的 IPC。为此使用标准输入/输出管道将非常容易。我可以相信任何人都无法读取发送到进程标准输入的消息吗?另外,我可以相信,如果我将管道保持在它的标准输出上,只有我可以读取它输出的内容吗?我只是想确保没有可以从这些中读取的基于 procfs 的技巧。

0 投票
1 回答
1058 浏览

python - python 使用命令提示符将 stdio 多连接到服务器以进行交互

我编写了一个简单的扭曲应用程序,它连接到侦听一个或多个端口的服务器。扭曲的应用程序连接到此服务器,并且通常一次连接到几个开放端口。该服务器是一个串行记录器,它连接到串行设备并通过原始 TCP 套接字提供串行线路信息,我需要将所有这些数据记录到磁盘。

我当前的应用程序将任何接收到的信息记录到磁盘上,没有问题。

我现在需要做但无法取得进展的是添加通过标准输入与我的应用程序交互的能力。我需要能够向本地应用程序发出命令,还需要通过连接的套接字发送文本命令。

我有一个使用 basic.LineReceiver 的基本提示并将其添加到我的反应器,但无法弄清楚如何将数据发送到服务器,或者即使这是正确的方法。

一个简化的示例将有助于显示我需要做什么。

谢谢

Ĵ

0 投票
3 回答
1649 浏览

c - 强制 fgets 阻塞(即伪造“交互式设备”)

我有一个 C 应用程序,它为输入命令提供了一个“shell”。我正在尝试为应用程序编写一些自动化测试代码(使用 CUnit)。从标准输入读取“shell”输入,如下所示:

我可以通过 freopen()'ning stdin 将命令自动“写入”到应用程序并将其连接到中间文件。当应用程序“正常”执行时,fgets() 调用会阻塞,直到字符可用,因为它是“交互式设备”,但在中间文件上则不然。那么我怎样才能假装 fgets 认为中间文件是一个“交互式设备”。

C 程序适用于使用 MinGW 编译的 Windows (XP)。

问候!

0 投票
3 回答
692 浏览

iphone - iPhone文件损坏

像这样编写的文件是否可能(在 iPhone/iPod Touch 上):

被破坏,例如当应用程序被迫终止时?

据我所知, fwrite 应该是一个原子操作,所以当我用一条指令写入整个文件时,不会发生损坏。我在网上找不到任何其他信息。

0 投票
12 回答
4422 浏览

c - 如何从 /dev/null 重定向输出

我有一个运行如下命令的应用程序:

<command> <switches> >& /dev/null

我可以配置<command>,但我无法控制<switches>。此命令生成的所有输出都转到/dev/null. 我希望输出在屏幕上可见或重定向到日志文件。

我尝试使用freopen()和相关功能重新打开/dev/null到另一个文件,但无法使其正常工作。

你还有其他建议吗?这可能吗?

谢谢你的时间。

PS:我在Linux上工作。

0 投票
3 回答
5818 浏览

c++ - 从 IDE 调试时来自文件的 C++ 标准输入

我正在使用 VS 2010,我想知道如何让我的 c++ 程序在调试时使用标准输入读取文件。我知道如何从命令提示符执行此操作,但在调试时不知道。

基本上我希望它用 cin>> 读入一个文件,而不是我输入东西——但在调试模式下。