我想多次阅读我的程序的输出.有些事情,如果我通过X我得到输出,我显示它,然后再次,如果我通过Y我得到输出,我显示它.没有重新启动过程.尝试它我已经制定了ac程序
#include<stdio.h>
int main()
{
int i;
int j;
while(scanf("%d", &i))
{
for(j = 0; j<=i;j++)
printf("%d\n",j);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
现在我正在用C#进行插入,当我在文本框中输入文本时,它通过重定向standardinput(一个streamwriter)传递给程序并读取输出我称之为standardoutput(一个streamreader).readtoend() .
但这对我不起作用.因为它进入等待状态直到流返回一些指示告诉结束已被读取.
我怎么能做到这样的事情?
我尝试了异步读取,我调用了beginoutputread方法,但后来我不知道读取何时完成!有一种方法可以让我在原始程序中添加一个标记,以指示当前输入的输出结束.有没有其他方法让我实现它?
如果流支持seek(CanSeek),您可以通过设置"回放"它
stream.Position = 0;
Run Code Online (Sandbox Code Playgroud)
从而开始重新阅读它.