我需要打印某些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转换。
答案 0 :(得分:3)
您可以这样做:
char bar[21];
memset(bar, 205, 20);
bar[20] = '\0';
puts(bar);
作为奖励,这比printf()更有效,因为整个字符串会立即写入stdout。