我想画一张桌子,
----------
| | |
----------
| | |
----------
| | |
----------
| | |
----------
Run Code Online (Sandbox Code Playgroud)
然而,它看起来凌乱和丑陋:(.另一件事困扰我的是每行的宽度,因为在每个盒子里面,包含一个数字.
void draw_table( entry* ptr, int size ) {
int x = 0;
for( ; x < size; ++x ) {
printf( "_____ _____ \n" );
printf( "| %d | %d | \n", ptr[x].virtual_page, ptr[x].page_frame );
}
}
Run Code Online (Sandbox Code Playgroud)
如何将每个长度"_____"
与每个框内的整数(位数)相匹配?
您可以使用printf中的字段宽度格式说明符来使所有数字以固定宽度打印.然后您可以轻松地格式化表格.例如:
printf("|%8d|", 12345);
Run Code Online (Sandbox Code Playgroud)
会打印:
| 12345|
Run Code Online (Sandbox Code Playgroud)
有关您可以执行的所有操作,请参阅printf(google"man printf")的手册页.它可以做一些非常强大的格式化.