如何在C ++ 17中使用变量正确格式化输出字符串?

杰克·阿凡特

我想知道什么是将字符串输出到带有变量的控制台的有效和聪明的方法。我知道在C ++ 20中有std :: format可以简化此操作,但是我不确定C ++ 17。

例如,可以在C ++ 20中完成:

#include <iostream>
#include <string>
#inclide <format>

int main(){

    int a = 13;
    int b = 50;
    std::string out_str = std::format("The respondents of the survey were {}-{} years old.", a, b);

    std::cout << out_str << std::endl;

    return EXIT_SUCCESS;

}

有没有一种类似于上述C ++ 17中示例的好方法?还是只需要将字符串和变量的不同部分分开?

润滑脂
std::cout << "The respondents of the survey were " << a << "-" << b
   << " years old\n";

如果您发现冗长和/或令人讨厌,请使用fmtlib作为的占位符std::format或与老去

#include <cstdio>

std::printf("The respondents of the survey were %d-%d years old.\n", a, b);

那不是类型安全的,但是当格式字符串保留文字时,最近的编译器很擅长将您引向不匹配的格式说明符和参数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在f字符串中使用换行符'\ n'格式化Python 3.6中的输出?

如何在Java中使用2个整数正确格式化字符串

如何在大括号中使用变量而不是数字来格式化字符串?

如何格式化python对象的输出字符串

如何使用NumPy字符串格式化程序打印NumPy数组,其中输出字符串取决于数组值?

C-如何在格式化的字符串中使用sscanf?

如何格式化Chapel中输出的字符串?

如何正确格式化此字符串以在URL中使用

如何在Swift中使用%@从字符串格式化字符串

如何格式化要在IN运算符中使用的字符串变量

如何在Lodash中使用特殊字符(如'&')格式化字符串?

如何使用格式在输出字符串中插入标点符号?

如何在Java中使用占位符对字符串进行格式化(例如在Python中)?

如何在Python中使用字符串块进行打印格式化?

如何在python-3.x中使用字典格式化字符串?

如何在Android中使用不同的参数格式化不同语言的字符串?

如何在Swift中使用appendFormat格式化字符串?

如何在iOS中使用Swift格式化字符串?

如何格式化字符串输出java

返回字符串,如何格式化输出

在C ++中格式化字符串的输出

如何在 C 中连接用 sprintf 格式化的字符串

如何在C ++中对静态缓冲区执行字符串格式化?

你如何在 C 中返回一个格式化的字符串?

如何在C ++中获取Linux命令输出字符串和输出状态

如何在DOORS中使用DXL来获取RTF格式的格式化并获取实际的字符串值?

如何在 C# 字符串格式化程序中转义 Json 字符串中的花括号

什么是Google API中的datetime对象,以及如何格式化其字符串输出?

如何重新格式化并将JavaScript字符串输出到数组中?