簡體   English   中英

如何“偵破”這個?

[英]How to “cout” this?

我正在制作一個僅出於娛樂目的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)" ")



}

謝謝!

我想你需要的是

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

並包括

#include<sstream>

您可以嘗試這樣的事情

enum { N = 64 };
char buffer[ N ] = {};
snprintf( buffer, N - 1, "shutdown -s -t %d", var3 );
system( buffer );

干得好

#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);
}

std::ostringstream是一個好方法。 只是另一種選擇(略為過度)

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

需要包括:

#include <boost/lexical_cast.hpp>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM