运行 Mac OSX 上 Sublime Text 3 中的 C++

Run C++ in Sublime Text 3 on Mac OSX

我知道有一个内置的 C++ 编译器和 运行 ST3 插件。这可以很好地构建我的程序。 运行 代码,它 运行 是其控制台中的第一部分,但在第一个 cin >> 处停止。当我 运行 直接从终端在 ST3 中编译文件时,代码 运行 没问题。

源代码:

#include <iostream>
using namespace std;

int main()
{
   int begInv;
   int sold;
   int store1, store2, store3;

   // Get the beginning inventory for all the stores.
   cout << "One week ago, 3 new widget stores opened \n";
   cout << "at the same time with the same beginning \n";
   cout << "inventory. What was the beginning inventory?";
   cin >> begInv;

   // Set each store's inventory.
   store1 = begInv;
   store2 = begInv;
   store3 = begInv;

   // Get the number of widgets sold at store 1.
   cout << "How many widgets has store 1 sold? ";
   cin >> sold;
   store1 -= sold; // Adjust store 1's inventory.

   // Get the number of widgets sold at store 2.
   cout << "How many widgets has store 2 sold? ";
   cin >> sold;
   store2 -= sold; // Adjust store 2's inventory.

   // Get the number of widgets sold at store 3.
   cout << "How many widgets has store 3 sold? ";
   cin >> sold;
   store3 -= sold; // Adjust store 3's inventory.

   // Display each store's current inventory.
   cout << "\nThe current inventory of each store:\n";
   cout << "Store 1:"  << store1 << "\n";
   cout << "Store 2:"  << store2 << "\n";
   cout << "Store 3:"  << store3 << "\n";
   return 0;
}

Screenshot of the result in ST3.

如果有人知道为什么只 运行ning 一半,并且可以帮助我弄清楚,那就太好了。谢谢!

我猜想问题的出现不是因为你用 sublime 编译,而是你试图从 sublime 内部运行 应用程序,因为它不能很好地处理交互式程序。

如果您从 sublime 编译您的应用程序并从控制台 运行 它,一切都应该正常工作。

您可以使用此 answer 中指定的技巧在外部 cmd 终端中 运行 应用程序。

在 Mac 试试这个:

 {
    "cmd": ["bash", "-c", "/usr/bin/g++ '${file}' -std=c++11 -o '${file_path}/${file_base_name}' && open -a Terminal.app '${file_path}/${file_base_name}'"]
 }