前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Sublime Text3 C/C++一键调试运行(可读取cin和scanf且中文无乱码)

Sublime Text3 C/C++一键调试运行(可读取cin和scanf且中文无乱码)

作者头像
喜欢ctrl的cxk
发布2019-11-08 17:53:25
4.2K2
发布2019-11-08 17:53:25
举报
文章被收录于专栏:Don的成长史Don的成长史

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/weixin_42449444/article/details/85146975

写在前面:

可以说对Sublime Text3是真爱了,我最爱的代码编辑器,没有之一。CSDN上不少前辈都写过如何在Sublime Text3中编译调试运行代码,根据他们的博客,我成功设置好了Python在Sublime Text下的编译运行,但是C/C++的我找到了十多篇博客才设置成功(因为我发现里面就两篇博客真正实用)。所以我想总结一下,自己写一篇关于在Sublime Text3中编译运行C/C++的博客。

参考博客:

怎么让sublime text3可以运行c/c++ (来源:constantine___)。

我发现我按①设置好了后,不能读取cin和scanf的输入。

sublime text 3+minGW 无法读取cin,使用命令行cmd成功运行(来源作者:食野之苹)。

我发现我按②设置好了后,程序出现了中文乱码。

Sublime Text的特点:

①Sublime Text 是一款跨平台代码编辑器,在Linux、OS X和Windows下均可使用。

②Sublime Text占用内存小、运行速度快,界面还十分简洁美观。

③Sublime Text可以多行编辑、多重选择、多屏显示,提高编程效率。

④Sublime Text 是可自由扩展的,它包含大量实用插件,我们可以通过安装自己领域的插件来成倍提高工作效率。

minGW的系统环境配置:

使用的C/C++编译器是minGW,点此进入官网链接,下载后需要在线安装,安装后需要将安装目录下的bin目录所在路径加入path环境变量。本菜鸡的电脑里安装了CodeBlocks,在CodeBlocks的安装目录下有MinGW,所以可以直接将其bin目录所在路径D:\CodeBlocks\MinGW\bin复制。

用鼠标右键点击此电脑,选中属性,然后选择高级系统设置,再选择环境变量。

在环境变量中找到Path系统变量,选中后点击编辑。

选择新建,然后Ctrl+v把复制的MinGW的bin路径粘贴,再一直点确定就行了。

用Win+R来运行cmd,输入g++或g++ -v,出现以下界面说明MinGW配置成功。

在Sublime Text3内部编译运行代码:

编辑一段代码输出经典语句"Hello,world."和“你好,世界。” Ctrl+Shift+b选中C++ Single File -Run即可在ST3内部对这段代码进行编译运行。程序运行结束后显示[Finished in 时间]。

如果代码有bug的话,Sublime Text3也可以进行报错。

这一切看上去都非常让人激动。然而!问题来了,用以上方法并不能读取cin和scanf。要是在"请输入一个数:"后输入一个数字,Sublime Text3不会有任何反应,并且在你重新Ctrl+b编译运行的时候会报错,因为该代码已经在编译运行了。

Sublime Text3调用cmd编译运行:

如何解决Sublime Text3无法cin、scanf的问题呢?

在菜单栏选中Tools,然后选择Build System,再选择New Build System...,在新打开的文件中添加以下内容:

代码语言:javascript
复制
{
    "cmd": ["g++", "${file}", "-fexec-charset=gbk", "-o", "${file_path}/${file_base_name}"],
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.c, source.c++",
    "variants":
    [
        {
            "name": "Run",
            "cmd": ["cmd", "/c", "g++", "${file}", "-o", "${file_path}/${file_base_name}", "&&", "start", "cmd", "/c", "${file_path}/${file_base_name} & pause"]
        }
    ]
}

———————————————2019.08.13更新————————————————————

Linux环境下要这样配置

代码语言:javascript
复制
{
    "cmd" : ["g++", "$file_name", "-o", "${file_base_name}", "-lm", "-Wall"],
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "selector" : "source.c, source.c++",
    "shell":false,
    "working_dir" : "$file_path",

    "variants":
    [
        {
            "name": "Run",
            "cmd": ["gnome-terminal", "-e", "bash -c \"g++ '${file}' -o '${file_path}/${file_base_name}' -lm -Wall && '${file_path}/${file_base_name}' ; read -p '\nPress any key to continue...'\""]
        }
    ]
}

——————————————————————————————————————————

Ctrl+s保存在这个默认路径下,重命名为C.sublime-build。

然后返回刚刚那段代码,Ctrl+Shift+b选择C -Run,编译后可以调用cmd运行,界面如下:

震惊!!为啥会出现中文乱码呢?我就奇了个怪啦。

不要慌!问题不大!设置文件编码为GBK格式后再输入文字,程序运行时中文就不再是乱码了。Ctrl+Shift+p打开命令框,输入"install",选中第一个敲回车。

你会发现命令框消失了,过一会儿会出现一个新的命令框,在新的命令框中输入"ConvertToUTF8"敲下回车即可进行安装。

安装ConvertToUTF8成功后在菜单栏选中File,然后选中Reload encoding with,选择Chinese Simplified(GBK)。然后重新Ctrl+b调试运行,噔噔噔噔!

如果没有在Sublime Text中安装Package Control的话,这里有个安装方法:

通过https://sublime.wbond.net/Package%20Control.sublime-package来下载packageControl文件。下载完成后,打开sublime text3,选择菜单Preferences->Browse Packages, 打开安装目录,此时会进入到一个叫做Packages的目录下,点击进入上一层目录Sublime Text3,在此目录下有一个文件夹叫做Installed Packages,把刚才下载的文件放到这里就可以了。然后重启sublime text3,观察Preferences菜单最下边是否有Package Settings 和Package Control两个选项,如果有,则代表安装成功了。此时使用快捷键Ctrl+Shift+P,输入install,选择install package,接下来从里面搜索插件的名字即可。

Sublime Text3添加快捷键:

如何像Codeblocks一样按下F8后即可对代码进行编译运行呢?在菜单栏选中Preferences,然后再选中Key Bindings。

在新出现的界面中输入一行内容(我是把F8设置为快捷键的):

代码语言:javascript
复制
{ "keys": ["f8"], "command": "build", "args": {"variant": "Run"} }

输入完成后按下Ctrl+s保存即可。

对了,还没有破解呢(原谅我的贫穷,希望有能力的兄弟还是购买正版),破解请戳链接sublime text3 破解方法,亲测有效

打开sublime text ,选择help-->enter license,将下面的内容复制到输入框中:

代码语言:javascript
复制
----- BEGIN LICENSE -----
sgbteam
Single User License
EA7E-1153259
8891CBB9 F1513E4F 1A3405C1 A865D53F
115F202E 7B91AB2D 0D2A40ED 352B269B
76E84F0B CD69BFC7 59F2DFEF E267328F
215652A3 E88F9D8F 4C38E3BA 5B2DAAE4
969624E7 DC9CD4D5 717FB40C 1B9738CF
20B3C4F1 E917B5B3 87C38D9C ACCE7DD8
5F7EF854 86B9743C FADC04AA FB0DA5C0
F913BE58 42FEA319 F954EFDD AE881E0B
------ END LICENSE ------

大功告成!尽情显示使用Sublime Text3编辑代码的快乐吧!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-12-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 写在前面:
  • 参考博客:
  • Sublime Text的特点:
  • minGW的系统环境配置:
  • 在Sublime Text3内部编译运行代码:
  • Sublime Text3调用cmd编译运行:
  • ———————————————2019.08.13更新————————————————————
  • ——————————————————————————————————————————
  • Sublime Text3添加快捷键:
  • 对了,还没有破解呢(原谅我的贫穷,希望有能力的兄弟还是购买正版),破解请戳链接sublime text3 破解方法,亲测有效
  • 大功告成!尽情显示使用Sublime Text3编辑代码的快乐吧!
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档