我想使用 C++ 平台执行 linux 命令,我正在使用 system() 但是当我写的时候:
cout<<"Enter the command"<<endl;
cin>>arraystring[size];
system(arraystring.c_str());
它给出了错误!
a4.cpp: In function ‘int main()’:
a4.cpp:75:20: error: request for member ‘c_str’ in ‘arraystring’, which is of non-class type ‘std::string [100] {aka std::basic_string<char> [100]}’
system(arraystring.c_str());
我应该怎么做才能克服这个错误?
最佳答案
实际上,您已将 arraystring
变量定义为:
string arraystring[100];
因此,当您编写语句时
system(arraystring.c_str);
arraystring
是 std::string
的数组,给出了错误。
将其更改为:
system(arraystring[size].c_str());
关于c++ - 如何在 C++ 的 system() 函数中传递字符数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29191595/