【发布时间】:2016-01-15 15:14:54
【问题描述】:
我有一个固定大小的数组:
library[BOOKNUM]
数组中的每一项都是struct book。
结构手册
typedef struct _book{
char name[NAME_LENGTH];
char authors[AUTHORS_NAME_LENGTH];
char publisher[PUBLISHER_NAME_LENGTH];
char genre[GENRE_LENGTH];
int year;
int num_pages;
int copies;
}book;
我的目标是打印这样的文件列表:
Name Author Publisher Genre ...
War and Remembrance Herman Wouk Good Books Publishing, LtD Historic Novel
Zzz, from A to Z Noam Chomsky Bad Books Publishing, LtD Linguistics
Splitting the Atom Margaret Openheimer Science Books Publishing, inc Nuclear Physics
所有书籍和所有属性等等。
我尝试将\t 放在属性之间,没有用。
我尝试在每个属性之间打印 (30-len(attribute))* 空格,没有用。
有人有建议吗?
【问题讨论】:
-
你应该展示你尝试过的东西。再次阅读
printf()的规范(我假设您已经阅读过一次)。指定字段宽度和左对齐很容易;如果需要,您甚至可以截断过长的字符串。 -
SO 不是代码编写网站。也不要因为你的作业而问答案。
-
@AshishAhuja 编辑帖子时请不要使用斜体the。它几乎从不具有语法意义。此外,
code高亮显示的是实际语言关键字、常量、名称等。“属性”既不是 C 关键字也不是上述代码中的名称,将其格式化为attribute会造成混淆并损害可读性。 -
@PaulRoub,感谢您告诉我。我马上改。我不会再犯同样的错误了。
-
请查看@Rabbid76 的答案或我的答案。它们对我来说确实很好用。
标签: c formatting