📜  在 Ubuntu 上使用 C++14 为竞争性编码设置 Sublime Text

📅  最后修改于: 2021-10-28 02:51:40             🧑  作者: Mango

从编码开始,学习了 c++ 语言和基本的 ds&algo,并想更深入地研究它。好吧,竞争性编码正是您提高编码技能所需要的。在本教程中,我们将从设置 cp 环境开始,以便您可以开始您的竞争性编程之旅。

这里我们使用的是 Ubuntu 中的 sublime 文本编辑器。因此,如果您的 PC 上安装了 Ubuntu,那么您就可以开始使用了。

如果您的 Ubuntu 上没有 sublime 文本编辑器,您可以轻松安装它。只需按照以下步骤操作:

  1. ctrl+alt+t // 这将打开终端
  2. 现在写sudo snap install sublime
  3. 安装将开始,只需在它要求的任何地方按“y”并按回车键
  4. 恭喜 sublime 现已安装在您的 ubuntu 上。

设置构建系统

对于要编译的 c++14 代码,我们需要在 sublime 文本中为 c++14 设置一个编译器,因为它不是默认的。

第 1 步:打开 sublime 文本

在 C++14(ubuntu) 中为竞争性编码设置 sublime 文本

步骤2:从顶部菜单中,选择工具->构建系统->新建构建系统。选择此项后将打开一个新窗口,如下所示

在 C++14(ubuntu) 中为竞争性编码设置崇高文本

第 3 步:现在您要做的就是将下面给出的代码粘贴到打开的选项卡中。确保删除前一个

上面的代码为 sublime 创建了一个 C++14 构建系统,因为默认情况下,sublime 有一个默认的 c++11 构建系统,所以为了使 c++14 的新特性在 sublime 中工作,我们需要设置构建系统C++14。

现在,我们已经为 c++14 设置了构建系统

更改 I/O 操作的布局

为了从代码中获取输入和接收输出,我们需要手动设置我们的输入和输出文件。

步骤 1:从顶部菜单中,选择View->Layout->Columns :3或按 Shift+Alt+3。

将创建三个新列,如下所示:

在 C++14(ubuntu) 中为竞争性编码设置崇高文本

第 2 步:现在选择View->Groups->Max columns: 2。

这将对最后创建的两个列进行分组。见下图:

在 C++14(ubuntu) 中为竞争性编码设置崇高文本

第 3 步:现在您可以在 sublime text 中同时查看三个文件。

我们现在将选择第一列(左)并将文件保存为 main.cpp(这是我们将编写代码的文件)。同样,选择第二列(右上角),按 (Ctrl+N),然后将文件保存为 input.txt。最后,选择第三列(右上角),按(Ctrl+N),然后将文件保存为 output.txt。

在 C++14(ubuntu) 中为竞争性编码设置 sublime 文本

现在,我们已经为 I/O 操作更改了 sublime 文本的布局。

这种布局在执行 cp 时非常有用,因为在 cp 中我们都知道检查我们的代码是否有各种类型的输入并根据它检查它们的输出,因此如果所有这些都发生在单个窗口中,则过程会变得非常快。这种布局不是强制性的,但在 cp 中是最优选和使用的

将 I/O 文件与主文件链接

为了将 main.cpp(程序文件)与 input.txt(输入文件)和 output.txt(输出文件)链接起来,请将以下代码粘贴到主程序的 main.cpp 文件中。

将下面给出的整个代码复制到 main.cpp 文件中:

#ifndef ONLINE_JUDGE
freopen("input.txt","r",stdin); //file input.txt is opened in reading mode i.e "r"
freopen("output.txt","w",stdout);  //file output.txt is opened in writing mode i.e "w"
#endif

Input.txt 和 output.txt 是我们为分别为程序提供输入和接收输出而创建的文件。上面给出的代码行 { freopen(“input.txt”,”r”,stdin);证明程序将从提到的文件中获取输入,即 input.txt,并且您将在 output.txt 中获得所需的输出,正如我们在最后一行代码中提到的那样 { freopen(“output.txt”,”w”,标准输出); }

现在,我们已经在 sublime text 中完成了 cp 环境的设置。

工作/执行代码

在 main.cpp 文件中编写示例程序。

作为参考,您可以使用下面提到的代码:

C++
#include 
 
using namespace std;
 
int main()
 
{
 
#ifndef ONLINE_JUDGE
 
    freopen("input.txt", "r", stdin);
 
    freopen("output.txt", "w", stdout);
   
#endif
 
    string var = "geekforgeeks";
 
    cout << var;
 
    return 0;
}


之后保存 main.cpp 文件并按 (Ctrl+b) 运行该文件,您所需的输出将显示在 output.txt 文件中。

在 C++14(ubuntu) 中为竞争性编码设置崇高文本