[英]printing a pretty table in c in a linux-terminal
我已經為學生編寫了一個小型數據庫。 從終端獲取數據后,我想將此數據打印在漂亮的表中。 該表如下所示:
lastname|firstname|enrollement nr|subject|nationality.
但是我無法打印整行數據。 這意味着如果我要打印有關一名學生的信息,則數據將分為兩行。 該表的標題不會被拆分,但是表的每一行都會被拆分。 這是代碼:
void display_db(){
printf("lastname|firstname|enrollement nr|subject |nationality\n");
printf("========================================================\n");
int i;
for(i=0;i<SIZE;i++){
printf("%10s|%10s|%10d|%10s|%10s\n",
(db+i)->lastname,(db+i)->firstname,(db+i)->mNr, (db+i)->subject, (db+i)->nationality);
}
}
這是一張圖片:
刪除特殊字符“ \\ n”后,我修改了用於打印表格的代碼。 桌子現在很漂亮。 這是代碼:
void display_db(){
printf("%10s|%10s|%10s|%30s|%10s\n","lastname","firstname","enroll. nr","subject","nationality");
printf("========================================================\n");
int i;
for(i=0;i<SIZE;i++){
printf("%10s|%10s|%10d|%30s|%10s\n",
(db+i)->lastname,(db+i)->firstname,(db+i)->mNr, (db+i)->subject, (db+i)->nationality);
}
}
從struct元素中刪除結尾的換行符
size_t element_len = strlen(element);
if (element_len && (element[element_len - 1] == '\n')) {
element[--element_len] = 0; // remove trailing newline and update element_len
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.