C++在变量给定的指定时间内关闭电脑
C++ Turn Off a PC within a specified timeframe given by a variable
我试图使用不同数据类型的代码变体,在一个变量指定的时间内用C++关闭我的计算机。它不起作用。
system("shutdown -s -t %Charseconds");
system("shutdown -s -t %Intseconds");
system("shutdown -s -t %Stringseconds");
system("shutdown -t %Charseconds");
system("shutdown -t %Intseconds");
system("shutdown -t %Stringseconds");
最小可重复性:
TurnOff(int seconds)
{
seconds = 10;
string str = to_string(seconds);
system("shutdown - s - t " + str);
}
错误:没有合适的转换函数从"std::basic_string<char,std::char_traits<char>,std::分配器<char>gt"至";const char*";
system()
不知道如何格式化这样的参数。它接收一个C样式的char*
字符串,并将其原样传递给cmd.exe
(作为/C
开关的参数(。因此,在传递给system()
之前,您有责任使用变量输入格式化字符串。
您可以使用c_str()
方法将std::string
传递给system()
,例如:
void TurnOff(int seconds)
{
std::string str = "shutdown -s -t " + std::to_string(seconds);
system(str.c_str());
}
也就是说,考虑使用任务调度程序API来调用关闭,而不是使用system()
。
shutdown - s - t " + str
的结果是std::string
。system
期望一个常量C字符串(const char *
(。你必须转换它,例如:
system(("shutdown - s - t " + str).c_str());
相关文章:
- boost::进程间消息队列引发错误
- Ardunio UNO解决了多个重叠的定时器循环
- C++在变量给定的指定时间内关闭电脑
- Windows 进程间同步类似事件?
- C++代码在台式机上工作正常,但在笔记本电脑上则不行
- 如何在提升间进程中构建具有给定计数的向量并向其添加元素
- 在通知提升间处理条件变量时未按住锁会导致问题
- 查询 NFS 上的提升进程间::file_lock
- 进程间通信堆内存
- 避免使用 boost::进程间::消息队列创建文件
- 提升 c++ 间进程
- CNTK:->转发或 ->评估某些电脑上的崩溃,而不是其他电脑上的崩溃
- 处理影响跨不同线程共享对象的定时回调的最佳方法是什么?
- 我们能否在stm32f中使用硬件定时器控制两个独立的进程
- Arduino Nano:A4988 使用串行输入时通过定时器进行步进控制不稳定
- 在递归期间将值存储在字符串中
- C++ 中递归期间的堆栈溢出
- 在 Windows/C++ 上使用多进程应用程序的高精度定时操作
- 提升进程间named_condition_any不通知
- 没有信号处理程序的POSIX定时器的目的是什么?