gpt4 book ai didi

c - 如何以表格格式将字符串列表打印到文件中?

转载 作者:行者123 更新时间:2023-11-30 15:13:10 24 4
gpt4 key购买 nike

我有一个固定大小的数组: 图书馆[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( "%-30s", str ); 打印 str 并在字符串末尾填充空格,最多 30人物。 printf( "%-*s", len, str ); 打印 str 并在字符串末尾填充空格,直到 len字符。

这是一个打印struct book字符串的函数。每列都有固定的长度:

print_book( book *b )
{
printf( "%-*s", NAME_LENGTH, book->name);
printf( "%-*s", AUTHORS_NAME_LENGTH, book->authors);
printf( "%-*s", PUBLISHER_NAME_LENGTH, book->publisher);
printf( "%-*s", GENRE_LENGTH, book->genre);
}

类似的函数打印到文件:

fprint_book( FILE *f, book *b )
{
fprintf( f, "%-*s", NAME_LENGTH, book->name);
fprintf( f, "%-*s", AUTHORS_NAME_LENGTH, book->authors);
fprintf( f, "%-*s", PUBLISHER_NAME_LENGTH, book->publisher);
fprintf( f, "%-*s", GENRE_LENGTH, book->genre);
}

关于c - 如何以表格格式将字符串列表打印到文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34814182/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com