Sublime編寫(xiě)C語(yǔ)言時(shí)籍滴,存在scanf函數(shù)無(wú)法輸入的問(wèn)題,這個(gè)問(wèn)題的解決方案一般是選擇在終端運(yùn)行程序胁附,但是網(wǎng)上的一些配置有些沒(méi)有解決這個(gè)問(wèn)題,有些會(huì)存在一些問(wèn)題滓彰。比如程序修改后控妻,終端顯示結(jié)果仍為修改前的結(jié)果,(猜測(cè)是編譯的問(wèn)題)揭绑;或者每次顯示完結(jié)果之后弓候,并不能自動(dòng)退出終端。
我想要的效果是:不包含scanf時(shí)他匪,在sublime控制臺(tái)輸出菇存;包含scanf時(shí),在終端輸出結(jié)果邦蜜,敲回車(chē)后自動(dòng)退出依鸥。
下面是配置的json文件:
{
"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}"]
"shell_cmd": "gcc \"${file}\" -o \"${file_path}/${file_base_name}\" -Wformat=2 && \"${file_path}/${file_base_name}\""
},
{
"name": "RunInShell",
// "cmd": ["gnome-terminal -- bash -c '${file_path}/${file_base_name};read' "]
"cmd": ["gnome-terminal -- bash -c \"gcc ${file} -o ${file_path}/${file_base_name} -lm -Wall; ./${file_base_name};read \""]
// "cmd": ["gnome-terminal -- bash -c \"g++ ${file} -o ${file_base_name} -lm -Wall; ./${file_base_name}; exec bash\""]
}
]
}
無(wú)scanf時(shí),選擇Run編譯悼沈;含有scanf時(shí)毕籽,選擇RunInShell編譯。
運(yùn)行效果圖1
運(yùn)行效果圖2
修改程序后井辆,再次編譯輸出結(jié)果跟隨改變关筒。
運(yùn)行效果圖3