下面是我写的一个程序,当我输入我想让它执行的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;
}发布于 2012-01-20 10:11:18
在第二种情况下,word的类型为std::string,并且不等同于const char*。您需要使用成员函数std::string::c_str()获取c样式字符串
system(word.c_str()); // This will convert to a c style string.https://stackoverflow.com/questions/8935939
复制相似问题