12得票2回答
setvbuf无法使stdin无缓冲

我的主要意图是使getchar在获取到字符后立即返回,而不是等待ENTER键。我尝试了以下方法:int main() { setvbuf(stdin,NULL,_IONBF,0); getchar(); return 0; } 将此与setvbuf的原型进行比较set...

18得票6回答
从stdin读取会刷新stdout吗?

当连接到终端时,stdout 是按行缓冲的,但我记得在某个地方读取(至少从stdin)会自动刷新 stdout。 所有我使用过的 C 实现都是这样做的,但我现在找不到它在标准中的说明。 它确实是有道理的,否则像这样的代码:printf("Type some input: "); fgets(l...

11得票6回答
如何检查我的程序是否有数据通过管道传递进来

我正在编写一个应该通过stdin读取输入的程序,因此我有以下结构。FILE *fp=stdin; 但是如果用户没有将任何内容传输到程序中,它就会挂起,我该如何检查用户是否实际上正在将数据传输到我的程序中,例如:gunzip -c file.gz |./a.out #should work ./...

8得票1回答
将本地标准输入导入到“heroku run”中 - 不能写入stdout吗?4k stdout缓冲区?

我正在使用Thor编写命令行任务(在Rails 3应用程序中),并尝试通过Heroku将输入管道传输到它们,例如cat somefile.csv | heroku run thor sometask 在我的本地机器上cat somefile.csv | thor sometask非常好用,但...

18得票5回答
如何在获取新输入之前清除标准输入(stdin)?

我已经阅读了5-10个关于如何清除stdin的建议,但它们都不符合我的需求。问题在于,在我的电脑上fflush(stdin)可以完美地工作,但不幸的是它似乎并不适用于所有情况,所以我需要具有相同功能的替代方法。我尝试的其他每种方式都会在stdin不为空时清除它,但当stdin为空时需要用户输入...

38得票7回答
如何在Bash中输入MySQL查询

我正在尝试编写一个Bash脚本来创建一个MySQL用户和数据库,但我无法找到一种将SQL命令传递给MySQL的方法。我正在尝试使用以下格式:mysql < echo "query" 但是它并不起作用,看下面的例子:mysql --host=localhost --user=user --...

32得票5回答
Python subprocess通信中的多个输入和输出

我需要做类似于这篇文章的事情,但是我需要创建一个可以多次输入和输出的子进程。那篇文章的被接受的答案有很好的代码...... from subprocess import Popen, PIPE, STDOUT p = Popen(['grep', 'f'], stdout=PIPE, st...

7得票1回答
从命令行将数据放入php://input

我有一个小的PHP脚本,它从php://input读取数据。我可以在命令行中运行该脚本,但我不知道如何“填充”php://input。 我尝试使用php file.php < my_test_data,但它填充了php://stdin而不是php://input 这个脚本可以概括为:...

9得票3回答
在Perl中,如何判断STDIN是否连接到终端?

如何在Perl中判断STDIN是否连接到终端?

11得票3回答
使用Python从重定向的标准输入读取输入

我有一个循环,它从标准输入读取行,直到输入了换行符为止,但这仅适用于通过键入输入的情况。如何让程序通过命令行重定向标准输入并读取行? 例如:$ python graph.py < input.input 这里是我用来从输入中读取行的循环:while 1: line = sys...