[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