关于在Emacs里直接打开shell运行程序输入输出问题
本人刚开始学Emacs
写了一个c程序 gcc-4编译成功
emacs里打开eshell或者cygwin 运行编译后的可执行程序
但是我发现为什么要等待所有输入结束以后才能够输出:
例如:
- C/C++ code
scanf("%d", &a);printf("%d", a);scanf("%d", &b);printf("%d", b);
运行时会输入一个数字a回车后,提示继续输入第2个b后,屏幕才能把a b逐一输出。
那么若写一个循环输入输出:
- C/C++ code
x = scanf("%d", &x);while(x != EOF){ printf("%d", x); x = scanf("%d", &x);}
那么程序会一直不断地提示叫你输入而不输出任何内容,并不是输入回车后显示一个后再继续提示输入。
这是在Emacs里直接运行SHELL的结果。
如果直接在WINDOWS下点击生成的.EXE程序,在CMD中运行或者直接在cygwin的shell中运行(而不是在emacs里打开shell运行),
却能够每次输入回车后显示一个后再继续提示输入。
Emacs出了什么问题?初学,想不明白
[解决办法]
刷新一下,强制输出试试