看板 Editor 關於我們 聯絡資訊
大家好,小弟是最近開始使用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就蠻方便的。 以上,希望各位先進大大能不吝告知!! 先謝謝了!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.97.241.170 ※ 文章網址: https://www.ptt.cc/bbs/Editor/M.1463024446.A.378.html
kerwinhui: fflush(stdout) .... 05/12 15:24
theTai: 感謝ker大大的回覆,原來是C語言本身的問題 05/12 15:51
theTai: 在上面的連結可以找到比較詳盡的說明 05/12 15:55
theTai: 誤會是emacs搞的鬼了XD 05/12 15:57