2017-08-16 76 views
-3

我试图用C++和CMD做一个关闭计时器。C++输入CIN并传递给CMD

这里是我的代码

int h; 
int total; 

cout << "Please enter in Hours" ; 
cin >> h; 

cout << "System shutdown in " << h << " hours"; 
h * 3600 = total; 
system("shutdown /s /t XXXX"); 

我试图通过总到XXXX,我该怎么办呢?

注意:这只是一个例子,我知道这是行不通的。但我得到了完整的代码工作和编译。我只是想知道system()如何从C++获得任何输入。

+2

在进入'system()'命令之前,您需要先完成一些工作代码。完全删除'system()'命令,并尝试编译这段代码,然后找出为什么它不会编译。只有在你想出这些预备知识之后,你才能开始计算如何实现'system()'调用。 –

+0

好吧,对不起,这不是完整的代码,完整的代码工作正常并编译。这只是为了看到这些想法。 :/ –

+0

我的实际问题是你如何获得system()读取的总数int –

回答

0

system()调用需要const char *作为参数,所以你需要建立一个。

total = h * 3600; 
string str = "shutdown /s /t " + std::to_string(total); 
const char *cmd = str.c_str(); 
system(cmd); 
+0

谢谢。正是我在找什么! –

+0

我有一个问题,to_string没有在这个范围内声明。我搜索到它是编译器问题,我正在使用Dev C++。建议吗? –

+0

@ShukriDamit你应该尝试谷歌第一。对'std :: to_string'的简单搜索给出了''定义在标头'](http://en.cppreference.com/w/cpp/string/basic_string/to_string) –