linux系统功能

时间:2012-01-20 02:04:56

标签: c++

下面是我写的一个程序,当我输入我希望它执行的linux命令时运行正常

include iostream
include string 
using namespace std;

int main()
{
    cout << "The directory!";   

    system("cd CS_204");

    return 0;
}

然而,下面我尝试制作它,以便用户可以输入他们想要的命令,我得到他们无法将std::string转换为const char*这是我第一次使用该功能而我是拼命想要了解它。帮助!

int main()
{
    cout << "The directory!"; 

    string word;


    cin >> word

    if(word != "A")
        system(word);

    return 0;
}

1 个答案:

答案 0 :(得分:3)

在第二种情况下,word的类型为 std :: string ,并不等同于 const char * 。您需要使用成员函数std::string::c_str()

获取c样式字符串
system(word.c_str());  // This will convert to a c style string.