在C++中,你可以將stdin
(標準輸入)與命令行參數結合使用,以便從用戶那里接收輸入并根據這些輸入執行相應的操作
#include<iostream>
#include<string>
#include <cstdlib>
int main(int argc, char *argv[]) {
if (argc != 2) {
std::cerr << "Usage: "<< argv[0] << " <command>"<< std::endl;
return 1;
}
std::string command = argv[1];
if (command == "echo") {
std::string input;
std::cout << "Enter the text to echo: ";
std::getline(std::cin, input);
std::cout << "Echo: "<< input<< std::endl;
} else if (command == "add") {
int a, b;
std::cout << "Enter two numbers to add: ";
std::cin >> a >> b;
std::cout << "Sum: " << a + b<< std::endl;
} else {
std::cerr << "Unknown command: "<< command<< std::endl;
return 1;
}
return 0;
}
在這個示例中,我們首先檢查是否提供了一個命令行參數。如果沒有,我們打印一條錯誤消息并返回1。然后,我們檢查命令行參數是否為echo
或add
。對于echo
命令,我們從stdin
讀取一行文本并將其輸出。對于add
命令,我們從stdin
讀取兩個整數并輸出它們的和。如果提供了未知的命令,我們打印一條錯誤消息并返回1。
要編譯并運行此程序,請將其保存為main.cpp
,然后在命令行中運行以下命令:
g++ -o main main.cpp
./main echo
./main add
第一次運行時,它會提示你輸入要回顯的文本。第二次運行時,它會提示你輸入兩個要相加的整數。