本文介绍了NEWBIE:如何粘贴字符串来为system()发出命令的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 大家好。 如果有几个字符串,我如何将它们组合起来构建命令; 可以说运行date命令。 string str =" 14/10/08 19:06:09" ;; strDD = str.substr(0,2); strMM = str.substr(3,2); strAA = str.substr(6,2); strhh = str.substr(9,2) ); strmm = str.substr(12,2); strss = str.substr(15,2); strtarget<<" date -u"<< strMM<<< strDD<< strhh<< strmm<< strAA<<"。"<< str ss<< ; " 2>& 1 / dev / null;"<< endl; system(strtarget); 不确定是否问题是它在strtarget行中的语法(59)。当 我编译我得到这个 rtchk.cpp:在函数`int main(int,char **)'': rtchk.cpp:59:不匹配`string& << const char [9]'' 提前致谢非常感谢任何建议。 解决方案 std :: string(我假设您使用的是std :: string?)没有 运算符<<。 您应该使用ostringstream。 - Ian Collins std :: string(我假设您使用的是std :: string?)*没有 运算符<< 。 你应该使用ostringstream。 - Ian Collins- Ocultar texto de la cita - - Mostrar texto de la cita - 对不起Ian但我真的是新手。我该如何使用 ostringstream? 与使用任何其他ostream的方式相同,例如std :: cout。在你的 的情况下,用ostringstream替换你想要流式传输的字符串。 查看如何使用str()方法获取缓冲区的字符串。 - Ian Collins Hi all.Having several strings how do i combine them to construct a command;lets say to run the date command.string str = "14/10/08 19:06:09";strDD = str.substr(0,2);strMM = str.substr(3,2);strAA = str.substr(6,2);strhh = str.substr(9,2);strmm = str.substr(12,2);strss = str.substr(15,2);strtarget<<"date -u "<<strMM<<strDD<<strhh<<strmm<<strAA<<"."<<str ss<<" 2>&1 /dev/null;"<<endl;system(strtarget);Not sure if the problem it''s syntax in the strtarget line (59). whenI compile i get thisrtchk.cpp: In function `int main (int, char **)'':rtchk.cpp:59: no match for `string & << const char[9]''Thanks in advance. really appreciate any advise. 解决方案std::string (I assume you are using std::string?) does not have anoperator <<.You should be using an ostringstream.--Ian Collinsstd::string (I assume you are using std::string?) *does not have anoperator <<.You should be using an ostringstream.--Ian Collins- Ocultar texto de la cita -- Mostrar texto de la cita -sorry Ian but I''m a really newbie. how should I use theostringstream ??The same way as you use any other ostream, such as std::cout. In yourcase, replace the string you were trying to stream to with an ostringstream.Look up how to use the str() method to get the buffer''s string.--Ian Collins 这篇关于NEWBIE:如何粘贴字符串来为system()发出命令的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-23 06:35