使用 printf() 将字符串居中

2023-12-19

默认情况下,printf()似乎将字符串向右对齐。

printf("%10s %20s %20s\n", "col1", "col2", "col3");
/*       col1                 col2                 col3 */

我还可以像这样将文本向左对齐:

printf("%-10s %-20s %-20s", "col1", "col2", "col3");

有没有快速居中文本的方法?或者我是否必须编写一个将字符串转换为类似的函数test into (space)(space)test(space)(space)如果该列的文本宽度是 8?


printf 本身无法做到这一点,但您可以使用“间接”宽度,它通过从参数读取宽度来指定宽度。让我们试试这个(好吧,不完美)

void f(char *s)
{
        printf("---%*s%*s---\n",10+strlen(s)/2,s,10-strlen(s)/2,"");
}
int main(int argc, char **argv)
{
        f("uno");
        f("quattro");
        return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 printf() 将字符串居中 的相关文章

  • 使用 CLion 进行 OpenCV Windows 设置

    我想在 Windows 上为 CLion IDE 设置 OpenCV 我尝试使用 OpenCV 3 1 和 2 4 得到相同的结果 我有 Windows 10 64 位 CLion 使用 cygwin 环境 到目前为止我做了什么 1 从Op
  • CMake 找不到请求的 Boost 库

    既然我已经浏览了其他人的解决方案几个小时 但找不到适合我的问题的正确答案 我想将我的具体问题带给您 我正在尝试使用 CMake 构建 vsomeip 为此 我之前构建了 boost 1 55 但是 我在 CMake 中收到以下错误 The
  • 将 new 与 decltype 一起使用

    T t T is an implementation detail t new T want to avoid naming T to allow for flexibility t new decltype t error cannot
  • 在 Java 中创建 T 的新实例

    在C 中 我们可以定义一个泛型class A
  • 检测wlan是否关闭

    任何人都可以给我一个提示 如何在 Windows Phone 上以编程方式检测 C 8 1 应用程序 不是 8 0 是否启用 禁用 WLAN 我不想更改这些设置 只是需要知道 该解决方案是一个 Windows 8 1 通用应用程序 Wind
  • 在现代 C++ 中,临时生命周期延长何时有用?

    在 C 中 您可以将函数的返回值 返回值 而不是引用 绑定到 const 引用 并且代码仍然有效 因为该临时对象的生命周期将延长到作用域末尾 例如 std string get string return abc void f const
  • CSharpRepl emacs 集成?

    我碰巧知道莫诺CSharpRepl http www mono project com CsharpRepl 是否有 emacs csharp 模式使用它在一个窗口中运行 REPL 并像 python 模式一样在另一个窗口中编译 运行 C
  • 如何使用 SOAP 且不使用 WSE 在 .NET 中签署 Amazon Web 服务请求

    亚马逊产品广告 API 以前称为 Amazon Associates Web Service 或 Amazon AWS 实施了一项新规则 即自 2009 年 8 月 15 日起 向其发送的所有 Web 服务请求都必须经过签名 他们在其网站上
  • 是否存在指向不同类型的指针具有不同大小的平台?

    C 标准允许指向不同类型的指针具有不同的大小 例如sizeof char sizeof int 是允许的 但是 它确实要求如果将指针转换为void 然后转换回其原始类型 它必须与其原始值进行比较 因此 从逻辑上来说 sizeof void
  • C# 开源 NMEA 解析器 [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 C 开源 NMEA 解析器 嗯 我自己也不熟悉 但是一些快速搜索显示了一个代码项目 htt
  • UI 函数在快速事件完成之前触发

    我有一个停靠在 Silverlight 应用程序中的 Web 浏览器框架 有时会在其上弹出全窗口 XAML Silverlight UI 元素 我已经或多或少修复了一个老问题 即 Web 框架的内容似乎与 Silverlight 内容不能很
  • 如何对 NServiceBus.Configure.WithWeb() 进行单元测试?

    我正在构建一个 WCF 服务 该服务接收外部 IP 上的请求并将其转换为通过 NServiceBus 发送的消息 我的单元测试之一调用Global Application Start 它执行应用程序的配置 然后尝试将 Web 服务解析为 验
  • 析构函数中的异步操作

    尝试在类析构函数中运行异步操作失败 这是代码 public class Executor public static void Main var c1 new Class1 c1 DoSomething public class Class
  • Project Euler #8,我不明白我哪里出了问题[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在做项目欧拉第八题 https projecteuler net problem 8 其中我得到了这个大得离谱的数字 7316
  • 从浏览器访问本地文件?

    您好 我想从浏览器访问系统的本地文件 由于涉及大量安全检查 是否可以通过某种方式实现这一目标 或使用 ActiveX 或 Java Applet 的任何其他工作环境 请帮帮我 要通过浏览器访问本地文件 您可以使用签名的 Java Apple
  • CUDA 8 编译错误 -std=gnu++11

    我正在尝试转换一些代码以使用 CUDA 并且我认为我遇到了兼容性问题 我们使用CMake 这些是我使用的 gcc 和 CUDA 版本 gcc version gcc Ubuntu 5 4 0 6ubuntu1 16 04 5 5 4 0 2
  • 如何在 winforms 应用程序的主屏幕显示之前显示欢迎屏幕?

    我想在应用程序启动时加载欢迎屏幕 然后用户单击欢迎屏幕上的按钮 然后关闭欢迎屏幕 最后显示主屏幕 static void Main startup method being called Application EnableVisualSt
  • 如何得知客户端从服务器的下载速度?

    根据客户的下载速度 我想以低质量或高质量显示视频 任何 Javascript 或 C 解决方案都是可以接受的 Thanks 没有任何办法可以确定 您只能测量向客户端发送数据的速度 如果没有来自客户端的任何类型的输入来表明其获取信息的速度 您
  • 使用 using 声明时,非限定名称查找如何工作?

    根据 C 标准 这是格式错误还是格式良好 namespace M struct i namespace N static int i 1 using M i using N i int main sizeof i Clang 拒绝它 GCC
  • 为什么匹配模板类上的部分类模板特化与没有模板匹配的另一个部分特化不明确?

    这个问题可能很难用标题中的句子来描述 但这里有一个最小的例子 include

随机推荐

  • 使用 openxlsx 按单元格填充颜色过滤 Excel 中突出显示的数据

    我有一个很大的 Excel 表格 18k 行和 400 列 其中一些行使用不同的颜色突出显示 有没有办法使用按颜色过滤行openxlsx 我首先加载了工作簿 wb lt loadWorkbook file Items Comparison
  • Android 应用程序需要哪些权限才能使用警报管理器服务?

    如果Android应用程序想要使用Alarm Manager Service 那么该应用程序需要拥有哪些权限 我已经测试过 应用程序似乎不需要任何权限即可使用警报管理器服务 真的吗 是的 它是真实的 您不必添加任何特殊服务 请记住 当手机重
  • 判断点是否在线段上

    我有由这两点定义的线段 A x1 y1 z1 and B x2 y2 z2 我有道理p x y z 如何检查点是否在线段上 求点 P 到线段 A B 的距离 若 AB AP PB 则 P 在线段 AB 上 AB sqrt x2 x1 x2
  • 正则表达式替换所有上标数字

    我正在努力寻找合理的解决方案 我需要使用正则表达式替换替换以下字符 我认为你会这样做 item item replace g 然而 当我尝试这样做时 notepad 将符号 5 9 转换为常规脚本数字 我意识到这可能与我正在使用的编码格式有
  • CVS:如何获取创建标签的日期?

    我们有一个 CVS 存储库 每当成功构建完成时 我们就会在活动分支上创建一个标签 有什么方法可以确定标签的创建日期吗 查看历史记录并没有帮助 因为它只显示文件修改时的日期时间戳 Thanks 您可以轻松配置 CVS 来记录所有与标签相关的操
  • 如何清理我的 docker 主机

    当我创建 调试 docker 映像 容器时 docker 似乎在我的系统上留下了各种工件 一度有 48 张图片的限制 但我上次查看时有 20 25 张图片 docker images 所以最重要的问题是 如何正确清理 当我手动删除图像时 更
  • 如何只显示“今天”而不显示其他内容?

    如果日期时间在今天之内 我只想 今天 moment calendar Today at 5 08PM Use a 自定义区域设置 http momentjs com docs customization calendar moment lo
  • 当无法测量差异时如何处理 iterator::difference_type ?

    我正在为第三方 C 库编写 C 包装器 该库提供了一些用于迭代一系列对象的函数 我想编写一个迭代器来包装此行为 以便迭代更容易 但我无法想象如何能够提供强制的 差异 类型 因为迭代的对象没有有意义的相对顺序以及我正在使用的 API with
  • q.all 用于 angular2 observables

    是否有类似 q all 的东西可以解析 angular2 中的所有 http api 请求 在 angular1 中 我可以做这样的事情 var promises api getA api getB q all promises then
  • 使用 JS 计算两个值之间的色差/相似度%

    我需要计算两个十六进制颜色值之间的差异 因此输出是百分比值 我放弃的第一件事是将十六进制值转换为十进制 因为第一个值的权重比最后一个值高得多 第二个选项是计算每个 RGB 值之间的差异 然后将它们全部相加 然而 之间的区别0 0 0 and
  • 如何在iPhone上进行捏合手势?

    如何在 iPhone 上实现捏合手势 我熟悉在 iPhone 上使用触摸事件 但我非常懒 不想为像捏手势这样广泛使用的东西重新发明轮子 源代码或链接会很有帮助 您需要使用一些基本的数学知识自己实现它 void touchesBegan NS
  • 当视图控制器推到导航控制器上时,后退按钮不可见

    当点击单元格时 我使用导航控制器深入查看详细视图 当我将视图控制器推入导航控制器堆栈时 我希望看到一个后退按钮 可以点击该按钮将前一个视图从堆栈中弹出 问题是后退按钮不可见 但是当点击它时shouldbe 让我回到之前的视图 有什么问题 确
  • .NET Framework - 可能存在内存泄漏的类?

    就在前几天 我正在调查内存泄漏 该泄漏在不到两分钟的时间内使应用程序从约 50MB 膨胀到约 130MB 事实证明问题出在并发队列 http msdn microsoft com en us library dd267265 aspx班级
  • 选择选项使用 JQUERY 通过文本获取值[重复]

    这个问题在这里已经有答案了 我有 html 选择 下拉菜单 其中包含许多填充选项 我还有一个包含许多名称的表格 旁边有按钮 我需要当您按下任何名称旁边的按钮时 就会在选择框 下拉列表 中选择该名称 选项值是 id 选项文本是名称 例子 Na
  • 是否可以序列化 Ace Session 对象?

    我想序列化并存储 Ace Session 对象 这样我就可以打开一个 文件 并恢复所有内容 值 选择 光标位置 模式等 我试过了JSON stringify session 它会抛出一个循环错误 有任何想法吗 最简单的版本是 var ses
  • 有没有办法在 C# 5 中模仿 C# 6 空条件运算符

    我遇到一种情况 我需要在对象初始值设定项内分配一些对象的属性 其中一些对象可以为 null 我需要访问它们的属性 问题是它们太多 并且使用 if else 东西不好 Example visits visitJoins AsEnumerabl
  • Mersenne Twister 跨编译器的再现性[重复]

    这个问题在这里已经有答案了 我正在使用 std mt19937 64 生成随机数序列 我注意到 当在同一平台上使用相同的种子运行 GCC 和 Clang 时 我获得了不同的序列 我通过 Valgrind 运行该程序 发现没有未初始化的内存
  • conda 返回“解决环境:失败”

    我无法再使用 conda 实用程序 多年来我经常使用它 但最近 因为我安装了 python 模块scp 使用命令conda install scp 我不知道这是否重要 没有任何明显异常的情况 只要我使用 conda 无论命令如何 我都会收到
  • 使用 Node.js 实时抓取网页

    好处是使用 Node js 抓取网站内容 我想构建一个非常非常快的东西 可以以以下方式执行搜索皮划艇网站 http www kayak com 其中一个查询被分派到多个不同的站点 结果被抓取 并在可用时返回给客户端 我们假设这个脚本应该只提
  • 使用 printf() 将字符串居中

    默认情况下 printf 似乎将字符串向右对齐 printf 10s 20s 20s n col1 col2 col3 col1 col2 col3 我还可以像这样将文本向左对齐 printf 10s 20s 20s col1 col2 c