📜  运行程序直到 ctrl-d c++ (1)

📅  最后修改于: 2023-12-03 15:28:18.797000             🧑  作者: Mango

运行程序直到 ctrl-d(C++)

在C++中,我们通常会需要运行程序直到用户输入ctrl-d(在Windows上是ctrl-z)来结束输入。这种技巧在处理文件输入、命令行参数等方面非常有用。

实现一

下面的代码片段演示了如何在C++中实现这个功能。

#include <iostream>
#include <string>

int main() {
  std::string line;

  // 重复获取用户输入
  while (std::getline(std::cin, line)) {
    // 处理输入
    std::cout << "Input: " << line << std::endl;
  }

  // 用户输入了 Ctrl-D,结束程序
  std::cout << "Exiting..." << std::endl;

  return 0;
}

这个程序将在用户输入ctrl-d时退出,并将每行输入输出到控制台。

实现二

另一种实现方式是使用std::cin.eof()函数来检查输入是否已经结束。

#include <iostream>
#include <string>

int main() {
  std::string line;

  // 重复获取用户输入
  while (!std::cin.eof()) {
    std::getline(std::cin, line);

    // 处理输入
    std::cout << "Input: " << line << std::endl;
  }

  // 用户输入了 Ctrl-D,结束程序
  std::cout << "Exiting..." << std::endl;

  return 0;
}

这个程序将对std::cin.eof()进行轮询来查看用户是否已经输入ctrl-d。

无论你选择哪种实现方式,都应该养成好的编程习惯,并在输入结束时进行清理操作。