Having a string within a system()

前端 未结 2 879
孤城傲影
孤城傲影 2021-01-29 09:56

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 + \"         


        
2条回答
  •  自闭症患者
    2021-01-29 10:25

    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());
    

提交回复
热议问题