-1

我正在制作一个应用程序只是为了好玩 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

4 回答 4

4

你需要的是这个我想

std::ostringstream out;
out << "shutdown -s -t " << var3;
system(out.str().c_str());

并包括

#include<sstream>
于 2013-03-08T05:26:04.147 回答
0

你可以试试这样的

enum { N = 64 };
char buffer[ N ] = {};
snprintf( buffer, N - 1, "shutdown -s -t %d", var3 );
system( buffer );
于 2013-03-08T05:24:07.390 回答
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);
}
于 2013-03-08T05:40:04.170 回答
0

std::ostringstream是个好办法。只是另一种选择(有点矫枉过正)

std::string cmd = "shutdown -s -t " + boost::lexical_cast<std::string>(var3);
system(cmd.c_str());

需要包括:

#include <boost/lexical_cast.hpp>
于 2013-03-08T05:44:37.693 回答