How can I use a string within a system().
ex: (input is the string)
system("open -a Google Chrome" "http://www.dictionary.reference.com/browse/" + input + "?s=t");
Because when I do this I get this error (No matching function for call to 'system').
system is available in cstdlib
header.
Function takes a c-style string as a parameter. +
doesn't append string literals.
So try -
std::string cmd("open -a Google Chrome");
cmd += " http://www.dictionary.reference.com/browse/" + input + "?s=t";
// In the above case, operator + overloaded in `std::string` is called and
// does the necessary concatenation.
system(cmd.c_str());
Have you included the stdlib
header?
No matching function for call to 'system'
typically occurs when it cannot resolve a function with that signature.
EG:
#include <stdlib.h> // Needed for system().
int main()
{
system("some argument");
return 1;
}
And don't forget to .c_str()
your std::string variable when passing it in as an argument.
See:
system()
documentation.
- This SO answer.