Linux Shell Programming cp命令

时间:2015-12-14 19:26:53

标签: c++ linux shell

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

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

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

1 个答案:

答案 0 :(得分:1)

system()只是一个带有const char*参数的函数。你没有必要传递一个文字,任何char*(到一个以nul结尾的c风格的字符串)都可以。

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

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