c - 使用格式说明符打印数字或字符的多个实例
问题描述
例如,是否可以使用格式说明符打印超过 1 个数字?
printf("%05d",5);
这将打印 00005
有没有办法让它打印 ----5 例如使用这些格式说明符?
解决方案
如果您可以使用 alloca,那么一个不太优雅的解决方案是:
printf("%s%d", (char*)memset(memset(alloca(4), '\0', 4), '-', 3),5);
如果你可以允许 c++,那么你可以试试这个看起来更优雅的:
printf("%s%d",std::string(3,'-').c_str(),5);
这两种情况都会给出---5
推荐阅读
- c# - 文件写入器失败
- r - 使用 tidyverse/dplyr 从其他列子字符串创建列
- jenkins - 列出在我的脚本化 Jenkins 流水线中使用的插件
- regex - RegEx 以确保字符串至少包含一个大写和小写字母,但也可能包含数字和特殊字符
- delphi - GetModuleName 返回无关字符
- r - 计算第一个非零之前的行数
- java - java 投射地图
反对 - delphi - 如何使用 cxGrid 中 ADT 字段的子字段?
- node.js - Node.JS getaddrinfo ENOTFOUND 处理数百个同时请求
- c++ - 对于 Snackdown'19 codechef 挑战中提出的问题,找不到为什么一个代码有效而另一个显示运行时错误的区别?