首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C++ system() 調用拼接變量:ostringstream 類型安全構建命令字符串

     編輯:程式設計綜合問答

錯誤嘗試


int i = 10;
system("shutdown /t %i"); // 錯誤:%i 不會被展開為變量值

正確做法:ostringstream


#include 
#include 

int time = 30;
std::ostringstream cmd;
cmd << "shutdown -s -t " << time;
system(cmd.str().c_str());

優勢

  • 類型安全:自動處理 int/double/string 等類型流插入。
  • 避免緩衝區溢出:動態字符串自動擴展。
  • 可讀性強:流式拼接直觀。

補充:跨平台關機


#ifdef _WIN32
    cmd << "shutdown -s -t " << time;
#else
    cmd << "shutdown -h +" << (time/60); // Linux 分鐘單位
#endif
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved