bli*_*n17 1 linux d intellij-idea gdc
我正在努力学习d所以我从hello world开始,并尝试扩展它.
import std.stdio;
import core.thread;
void main(string[] args){
writeln("Hello World!");
Thread.sleep(dur!("seconds")(5));
writeln("Press enter key to exit...");
writeln(readln());
}
Run Code Online (Sandbox Code Playgroud)
所以我希望我的输出如下
Hello World!
Press enter key to exit...
//input "abcd"
abcd
Run Code Online (Sandbox Code Playgroud)
但我得到了这个
//input "abcd"
Hello World!
Press enter key to exit....
abcd
Run Code Online (Sandbox Code Playgroud)
睡眠功能甚至被跳过.怎么了?
这是一个常见问题解答,当我阅读标题时,我希望看到一个IDE,你标记它,所以耶!我找不到链接到的旧答案,但缺点是输出和睡眠都发生了,它们只是由IDE管道缓冲而直到最后才能看到.
如果你在第一个stdout.flush();
之前readln
和/或之后添加一个权利,writeln
你会看到输出 - 这会强制缓冲区在执行任何其他操作之前进入屏幕.
普通控制台输出将自动刷新一行,但IDE被视为管道; 程序与另一个程序而不是用户交谈,因此它认为它可以通过数据块而不是用户可见行缓冲.
归档时间: |
|
查看次数: |
129 次 |
最近记录: |