如何“cout”这个?

时间:2013-03-08 05:14:00

标签: c++

我正在为一个有趣的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)" ")



}

谢谢!

4 个答案:

答案 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>