如何使用C在终端上打印格式化输出?

如何使用C在终端上打印格式化输出?,c,C,我已经用C编写了一个库系统的代码,我想在Linux终端上以如下方式显示输出。我尝试使用“\t”,但当字符串大小变化时,输出会受到干扰。我想以固定的方式打印它,无论字符串大小如何 我想打印输出,如下所示- 我尝试使用“\t”打印此内容,但当book或author的字符串长度变小或变大时,格式会受到干扰。有人能帮我吗???用固定字符大小打印。这里是7,11和10列。有关更多详细信息,请参阅此 不是linux用户(希望我们讨论的是单空间输出),但我的经验是,tab通常具有可配置的大小,因此,如果格式化

我已经用C编写了一个库系统的代码,我想在Linux终端上以如下方式显示输出。我尝试使用“\t”,但当字符串大小变化时,输出会受到干扰。我想以固定的方式打印它,无论字符串大小如何

我想打印输出,如下所示-


我尝试使用“\t”打印此内容,但当book或author的字符串长度变小或变大时,格式会受到干扰。有人能帮我吗???

用固定字符大小打印。这里是7,11和10列。有关更多详细信息,请参阅此

不是linux用户(希望我们讨论的是单空间输出),但我的经验是,
tab
通常具有可配置的大小,因此,如果格式化为
6
字符长度,而有人有4个字符
tab
,结果将很糟糕。最安全的是使用空间。您可以使用格式化输出,如:

printf("float number: 8.3%f",7.56);
但这并不总是一个好的选择,例如有时负面信号会把事情搞砸

我通常使用字符串变量自行处理此类格式设置:

  • line=”“
  • item=“单个未匹配文本值”
  • 计算
    项目的长度
  • 项目
    添加到
  • 对所有项目循环#2
  • 输出
  • 所有行的循环#1
  • 像这样使用printf:

    printf("%-25s|\n", "a string");
    printf("%-25s|\n", "another string");
    

    (左边的-in%-25s是用来证明你的文字正确的)

    你可以参考该网站-可能重复的感谢你这么多的朋友。这真的很简单,它帮助我得到我想要的输出。谢谢:)
    printf("%-25s|\n", "a string");
    printf("%-25s|\n", "another string");