У меня возникли проблемы с получением 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()
просто принимает Int в часах, преобразует его в секундах и возвращает Int в секундах. Все работает нормально, никаких ошибок, пока не достигнет 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
Почему бы вам не ответить на него, когда это ответ? –