使用数据表时,通常需要以易于阅读和解释的方式对其进行格式化。 C 在
函数 setw()、setfill() 和 left(或 right)协同工作来控制数据元素的宽度、填充字符和对齐方式。通过明智地使用这些函数,您可以轻松创建格式化表格。
例如,考虑以下未格式化的表格:
Bob Doe 10.96 7.61 14.39 2.11 47.30 14.21 44.58 5.00 60.23 Helen City 10.44 7.78 16.27 1.99 48.92 13.93 53.79 5.00 70.97 Joe Green 10.90 7.33 14.49 2.05 47.91 14.15 44.45 4.70 73.98
根据需要格式化表格:
const char separator = ' '; const int nameWidth = 6; const int numWidth = 8; cout << left << setw(nameWidth) << setfill(separator) << "Bob"; cout << left << setw(nameWidth) << setfill(separator) << "Doe"; cout << left << setw(numWidth) << setfill(separator) << 10.96; cout << left << setw(numWidth) << setfill(separator) << 7.61; cout << left << setw(numWidth) << setfill(separator) << 14.39; cout << left << setw(numWidth) << setfill(separator) << 2.11; cout << left << setw(numWidth) << setfill(separator) << 47.30; cout << left << setw(numWidth) << setfill(separator) << 14.21; cout << left << setw(numWidth) << setfill(separator) << 44.58; cout << left << setw(numWidth) << setfill(separator) << 5.00; cout << left << setw(numWidth) << setfill(separator) << 60.23; cout << endl;
此代码将生成格式化的表格:
Bob Doe BLR 10.96 7.61 14.39 2.11 47.30 14.21 44.58 5.00 60.23 4:27.47 Helen City CUB 10.90 7.33 14.49 2.05 47.91 14.15 44.45 4.70 73.98 4:29.17 Joe Green USA 10.44 7.78 16.27 1.99 48.92 13.93 53.79 5.00 70.97 5:06.59
为了进一步简化代码,您可以使用模板函数来处理格式:
template<typename T> void printElement(T t, const int& width) { cout << left << setw(width) << setfill(separator) << t; }
使用此模板函数,您可以按如下方式格式化元素:
printElement("Bob", nameWidth); printElement("Doe", nameWidth); printElement(10.96, numWidth); printElement(17.61, numWidth); printElement(14.39, numWidth); printElement(2.11, numWidth); printElement(47.30, numWidth); printElement(14.21, numWidth); printElement(44.58, numWidth); printElement(5.00, numWidth); printElement(60.23, numWidth); cout << endl;
通过结合 setw()、setfill()、left(或 right)和模板函数的强大功能,您可以轻松格式化 C 中的数据表无需复杂的计算。
以上是如何使用“setw()”、“setfill()”和“left”(或“right”)轻松格式化 C 中的数据表?的详细内容。更多信息请关注PHP中文网其他相关文章!