我正在为一个有趣的0_0创建一个应用程序,我有一点问题。我们的想法是能够在用户输入数字之前运行“系统”命令。这就是我所拥有的:
#include <iostream>
#include <cstdlib>
int main()
{
using namespace std;
int var1;
int var2=3600;
int var3;
cout<<"Enter the time"<<endl;
cin>>var1;
var3=(var1*var2);
system("shutdown -s -t "time_here(var3)" ")
}
谢谢!
答案 0 :(得分:4)
我认为你需要的是
std::ostringstream out;
out << "shutdown -s -t " << var3;
system(out.str().c_str());
并包括
#include<sstream>
答案 1 :(得分:0)
您可以尝试这样的事情
enum { N = 64 };
char buffer[ N ] = {};
snprintf( buffer, N - 1, "shutdown -s -t %d", var3 );
system( buffer );
答案 2 :(得分:0)
你去吧
#include <iostream>
using namespace std;
int main()
{
char input[256],buffer[256];
cout<<"Enter the time:";
cin >> input;
sprintf(buffer,"shutdown -s -t %d", atoi(input) * 3600);
system(buffer);
}
答案 3 :(得分:0)
std::ostringstream
是个好方法。
只是另一种选择(略微矫枉过正)
std::string cmd = "shutdown -s -t " + boost::lexical_cast<std::string>(var3);
system(cmd.c_str());
需要包括:
#include <boost/lexical_cast.hpp>