You need to enable JavaScript to run this app. C++中如何在String拼接语句内添加运行时条件判断
优惠活动
大模型
产品
解决方案
定价
更多

C++中如何在String拼接语句内添加运行时条件判断

实现方案

采用分步拼接逻辑,先拼接所有固定存在的前置语句,再通过num的条件判断决定是否插入指定子句,最后拼接固定的后置语句即可,代码实现如下:

String Statement = 
"Timer Main\n"
"Sharm                	v7 (" + IntToStr(Value) + ")\n"
"Get All Values     	" + FloatToStr((float)GetAllValues/50, 1, 2) + "\n"
"Sum of Values    	" + FloatToStr((float)SumOneValue/50, 2, 4) + "\n";

// num不为0时拼接对应统计行
if (num != 0) {
    Statement += "% for     	" + FloatToStr(((float)num)*100.0, 12, 2) + "\n\n";
}

Statement += "--------------------------------\n";

如果希望代码更简洁,也可以使用三目运算符实现单行判断拼接,可读性略低于分步判断写法:

String Statement = 
"Timer Main\n"
"Sharm                	v7 (" + IntToStr(Value) + ")\n"
"Get All Values     	" + FloatToStr((float)GetAllValues/50, 1, 2) + "\n"
"Sum of Values    	" + FloatToStr((float)SumOneValue/50, 2, 4) + "\n"
+ (num != 0 ? "% for     	" + FloatToStr(((float)num)*100.0, 12, 2) + "\n\n" : "")
+ "--------------------------------\n";

注意事项

  • 注意保留原语句的换行、缩进格式,避免最终拼接出来的语句格式混乱
  • 若项目使用C++11及以上标准,也可改用std::stringstream完成多段内容拼接,后续调整语句顺序、增减判断逻辑的成本更低

内容的提问来源于stack exchange,提问作者Adi Sur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 07:45:02