我無法讓system()在字符串變量中運行命令。將字符串變量放入系統時出錯()
ostringstream convert;
convert << getSeconds(hours);
string seconds = convert.str(); /* converts the output of 'getSeconds()' into
a string and puts it into 'seconds' */
string cmd = "shutdown /s /t " + seconds;
system(cmd);
getSeconds()
只需要一個小時的整數,將其轉換爲秒,並返回一個以秒爲單位的整數。一切運行良好,沒有錯誤,直到它達到system(cmd);
。然後,編譯器吐出了這個錯誤:
error: cannot convert 'std::string {aka std::basic_string<char>}' to
'const char*' for argument '1' to 'int system(const char*)'
這裏是我的包括:
#include <iostream>
#include <string>
#include <cstdlib>
#include <sstream>
'system(cmd.c_str());' – Borgleader
當它是答案時,爲什麼不把它當作答案呢? –