下面的代码不起作用:
string currency;
currency = "EURUSD";
system("lynx -dump 'http://somesite.com/q?s="+currency+"=X' > file.txt");
如何在C++的system()
调用的这一行中使用currency
?
这是我的错误:
Error value:
main.cpp: In function ‘int main()’:
main.cpp:22:84: error: cannot convert ‘std::basic_string<char>’ to ‘const char*’ for argument ‘1’ to ‘int system(const char*)’
make: *** [main.o] Error 1
BUILD FAILED (exit value 2, total time: 890ms)
在PHP中,我使用.
连接字符串,但在C++中,我不确定语法。
4条答案
按热度按时间hyrbngr71#
使用stringstream:
fykwrbwg2#
std::string::c_str()
会给予你一个char*
(const'd somehow),你可以在C字符串函数中使用。但是您应该考虑先创建一个包含完整命令的std::string
。cyvaqqii3#
你不能把
+
astd::string
转换成char []
。虽然你可以+
一个char []
到一个std::string
。我建议使用
std::string
s并获取const char*
,仅用于调用system()
:wgeznvg74#
应该可以