gpt4 book ai didi

c++ - Linux Shell编程cp命令

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:48:34 26 4
gpt4 key购买 nike

我正在 linux 上编写一个简单的 shell 程序。我已经在我的 shell 中实现了用户给出的许多命令。但是我不知道如何给出命令来编写这个命令。我的意思是当用户给出一个简单的命令时,即 ls 或 date 我只是在我的 shell 中写 system("ls")。我将字符串的值(由用户提供)与 ls 进行了比较,如果为真则执行。例如

string s;
cin>>s;
if(s=="ls")
system("ls");

现在如果用户说 cp file1.cpp file2.cpp 我该怎么办?提前致谢。

最佳答案

system() 只是一个接受 const char* 参数的函数。您不必将文字传递给它,任何 char*(以 nul 结尾的 c 风格字符串)都可以。

如果只想将一行用户输入传递给 shell,您可以将其读入 string 然后使用 string::c_str() 传递它到 system():

std::string input;
std::getline(std::cin, input);
system(input.c_str());

关于c++ - Linux Shell编程cp命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34275038/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com