尝试打印转义字符x次
Trying to print an escape character x number of times
我想这样做printf (" % s ", ' t ' * 3);我只是想知道是否有一种方法可以打印这样的东西而不循环
printf("%s%s%s", "t", "t", "t");
?只是开玩笑。但是既然你把它标记为c++,因为我不知道你在这里试图解决什么更高层次的问题,你是否考虑过只使用适当的std::string
构造函数?
std::string s(3, 't');
你甚至可以使用printf
如果你真的坚持…
printf("%s", std::string(3, 't').c_str());
为什么不直接用std::cout
呢?
std::cout << std::string(3, 't');
关于"不循环"部分…当然,printf
和std::string
在它们的实现中都可能有循环。但这应该不会困扰你。
假设您创建了运行时循环并允许使用boost,您可以在编译时使用模板创建字符串:
#include <iostream>
#include <boost/mpl/char.hpp>
#include <boost/mpl/string.hpp>
using namespace boost;
template <unsigned int C, int R>
struct repchrn
{
typedef typename mpl::push_back<typename repchrn<C, R - 1>::string, mpl::char_<C>>::type string;
static const char* getString() { return mpl::c_str<string>::value; }
};
template <unsigned int C>
struct repchrn<C, 0>
{
typedef mpl::string<> string;
static const char* getString() { return mpl::c_str<string>::value; }
};
int main() {
printf("%s", repchrn<'a', 5>::getString());
/* or */ std::cout << std::endl;
std::cout << repchrn<'a', 5>::getString();
}
相关文章:
- 无符号字符打印其 ASCII 值
- 我正在尝试为字符打印一些相应的值,但条件总是转到其他位置
- 为什么完整的字符串没有一次打印,但是当我尝试逐个字符打印时
- 为什么当我从 cin 阅读时转义字符不起作用?
- 延迟逐个字符打印单词
- C++:如何将 unicode 字符打印到文本文件
- 在QLineEdit中显示和编辑转义字符
- std::regex_error语言 - 意外的转义字符
- 为什么 std::hex 没有特别用字符打印为十六进制?
- LPCWSTR 查找和替换为转义字符
- 修改正则表达式以包含反斜杠和单引号(以便反斜杠表现为转义字符)
- 有人可以解释一下与 Windows 文件系统相关的C++转义字符" "吗?
- 使用 C++ 将 UTF8 字符打印到 Linux 控制台
- 将带有转义字符的大字符串转换为字节数组
- 由转义字符组成的字符串文字的大小
- 如何在Windows上正确地将拉丁字符打印到C++控制台
- 使用线程根据起始字符打印出单词
- XOR错误的结果,转义字符
- 打印不带转义字符的字符串
- 尝试打印转义字符x次