Linux+Sublime 開發C/C++ 中無法讀取cin/scanf 的解決辦法


Q:sublime在Ubuntu環境下配置好,能使用gcc編譯運行程序后,發現cin,scanf 這樣的命令不執行

A:sublime自帶的控制台不支持這樣的輸入操作,解決辦法就是調用Linux本地終端,在終端上執行程序,

   網上關於windows下調用cmd的例子已經好多了,可是卻很少找到Linux環境下的配置方法,

     以下是我自己總結的方法,自己感覺很好用,希望可以幫到需要的朋友。

     1.Sublime界面-->Tools-->Build System-->New Build System,彈出一個簡單的文件,把以下代碼粘貼進去,

  最后結果如下所示:

{
    "cmd": ["g++ ${file} -o ${file_base_name}"], 
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.c, source.c++",
    "shell": true,
    "variants":
    [
        {
            "name": "Run",
            "cmd": ["${file_path}/${file_base_name}"]
        },
        {
            "name": "RunInShell",
            "cmd": ["gnome-terminal -x bash -c '${file_path}/${file_base_name};read' "]
        }
    ]
}

     2.保存為g++.sublime-build,保存位置就是默認路徑,即Packages-->User 目錄下

     3.第三步,設置快捷鍵,Sublime界面-->Preferences-->Key Bindings-User, 打開后寫入以下代碼,結果如下所示

[
    { "keys": ["f8"], "command": "build","args": {"variant": "RunInShell"} },
]

  保存。

     4.這樣就完成調用Linux下的終端了,Sublime寫好C/C++程序后,

  ctrl+B編譯程序,ctrl+shift+B使用Sublime自帶的控制台運行程序,F8為調用Ubuntu終端運行程序。

 

  關鍵之處就在於一點,也是我廢了點力氣測試出來的,

"cmd": ["gnome-terminal -x bash -c '${file_path}/${file_base_name};read' "],

  這條代碼就是調用gnome-terminal來執行程序,后面的;read 必須要加,否則程序執行完終端會閃退,加上以后程序執行完,敲回車關閉終端。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM