c - printf变量char多次

标签 c printf ascii repeat

我需要打印某个 ASCII 字符 DOUBLE_HORIZONTAL_LINE(205) "═"20 次。然而,该文件是用 unicode 编码的,所以我需要执行类似 printf("%c", 205) 的操作,这很好,只是我不知道如何重复该字符。我尝试使用 %1$c,但只是按字面意思打印了“$c”。

printf("%1$c%1$c\n", 205); //205 = ASCII '═'

我原以为上面的代码片段会打印两次═,但它却打印了$c$c。

我真的需要做一个 for i<20 printf 循环吗?

编辑:尝试直接 printf("═"); 将导致输出 ΓòÉ。同样,由于 unicode-ascii 转换。

最佳答案

你可以这样做:

char bar[21];
memset(bar, 205, 20);
bar[20] = '\0';
puts(bar);

作为奖励,这比 printf() 更有效,因为整个字符串会立即写入标准输出。

关于c - printf变量char多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56615109/

相关文章:

c - 每次返回指针时都必须使用 malloc

c++ - 在派生类型中使用可分配的目标变量

c - 在 C 中打印字符串的二进制 ASCII 码

linux - erlang格式的utf8变成\x(反斜杠x)ascii编码

PHP输出文本图像字符编码错误

c - 结构体指针转换及其内存分配

c - 使用 netcat 将简单的 C 程序变成服务器

c - printf 在共享内存中做了什么

c - 基础 C 编程 printf tricky

C 程序 - printf 与其他 printf 字符重叠