是否有一个函数来将字符串与空格或特殊字符对齐?

时间:2017-12-14 20:18:46

标签: c string format

编辑:这是重复的。

Set variable text column width in printf& The simplest way of printing a portion of a char[] in C
回答了我的问题

我想用C语言输出一个菜单,但我不能让它看起来不错。我有搜索功能在C中执行此操作,找不到任何?

一个网站使用C#和String.Format()来实现这一点,我想知道这是否可以在C中做到?

> [C#] Console.WriteLine("-------------------------------");
> Console.WriteLine("First Name | Last Name  |   Age");
> Console.WriteLine("-------------------------------");
> Console.WriteLine(String.Format("{0,-10} | {1,-10} | {2,5}", "Bill",
> "Gates", 51)); Console.WriteLine(String.Format("{0,-10} | {1,-10} |
> {2,5}", "Edna", "Parker", 114));
> Console.WriteLine(String.Format("{0,-10} | {1,-10} | {2,5}", "Johnny",
> "Depp", 44)); Console.WriteLine("-------------------------------");

输出如下:

 -------------------------------
 First Name | Last Name  |   Age
 -------------------------------
 Bill       | Gates      |    51
 Edna       | Parker     |   114
 Johnny     | Depp       |    44
 -------------------------------

在我自己的C中,我试图在之前和之后格式化一个字符串,空格或特殊字符,例如:

--------------------------------
------This x costs y dollar-----
------This i costs j dollar-----
...
...
-------------------------------

前面是项目名称的%s,后面的成本是%d 我的想法就是在循环中打印它,它循环m(总项目)次数定义line宽度总共30。每个循环找到项目名称的长度,使用另一个循环到/ 10的成本来找到它的len并将它们加在一起。 打印((line - totalLen)/ 2)在前面,打印字符串并在字符串后执行相同的操作? 如果整个字符串是奇数或偶数,那么小问题就是。

0 个答案:

没有答案