[emcs] 在win下使用emacs的shell-mode问题

楼主: theTai (theTai)   2016-05-12 11:40:44
大家好,小弟是最近开始使用emacs的新手,因为同时在学C语言,便想使用
emacs同时进行编辑、编译及测试。(操作系统为windows 7)
在编辑与编译方面没有太大问题,然而,在执行时出现了一些小问题。
先附上所使用的C code,这是"深入浅出 C"书中第7页的例子:
int main()
{
char card_name[3];
puts("Enter the card_name: ");
scanf("%2s", card_name);
int val = 0;
if (card_name[0]=='A')
{
val = 11;
}
else
{
val = atoi(card_name);
}
printf("The card value is: %i\n", val);
return 0;
}
在emacs的shell-mode编译后执行结果:
c:\home\c\HFC>gcc cards.c -o cards
gcc cards.c -o cards
c:\home\c\HFC>cards
cards
A <-在这里就要输入scanf值了
Enter the card_name: <-puts输出结果在要求输入后
The card value is: 11
在windows原生的命令列模式下执行倒是跟预期相同的,
windows执行结果:
c:\home\c\HFC>cards
Enter the card_name:
A
The card value is: 11
顺带一提,emacs的eshell模式下执行的结果:
c:/home/c/HFC $ ./cards.exe
A <-仍然是在puts结果前要求输入
Enter the card_name:
The card value is: 11
目标只是想在emacs的shell或eshell模式下输出与windows
命令列相同的结果,毕竟都在emacs下工作了,要再多开windows
的命令列来执行实在有点落漆,不知各位大大有没有什么好
的建议? 况且未来可能会需要记录输入输出结果,这时候
emacs的shell或eshell就蛮方便的。
以上,希望各位先进大大能不吝告知!! 先谢谢了!!
作者: kerwinhui (kezza)   2016-05-12 15:24:00
fflush(stdout) ....
楼主: theTai (theTai)   2016-05-12 15:51:00
感谢ker大大的回复,原来是C语言本身的问题http://stackoverflow.com/questions/32380470/在上面的连结可以找到比较详尽的说明误会是emacs搞的鬼了XD

Links booklink

Contact Us: admin [ a t ] ucptt.com