我在输出文件中写了一组单词。我在单词之间使用'\ t'字符留下了三个制表空间。但有时当单词太小或太大时,对齐似乎存在问题。如何在单词之间给出一个恒定的空格,即使单词很小也可以使用?
这就是我在说什么。
Word:elpmas Count:1
Word:This Count:4
Word:pmasel Count:1
Word:is Count:1
Word:sample Count:1
Word:sentence Count:1
Word:si Count:1
Word:a Count:1
我希望在单词和计数之间有一个恒定的空格。我目前使用
cout<< "Word:"<< hash->key <<"\t\t\t" << "Count:" << hash->value <<endl;
帮帮我。
答案 0 :(得分:5)
setw流操纵器可用于对齐表格输出中的列。例如,
cout << "Word:" << setw(15) << hash->key << " Count:" << hash->value << endl;
如果您的密钥最多为15个字符,则会正确对齐您的输出。
答案 1 :(得分:1)
标签移动到特定的“固定列”位置。您的标签看起来像4个字符制表符
根据打印选项卡时的位置,将显示1到4个字符到下一个选项卡列的任何内容。
因此,您需要在打印选项卡之前跟踪(或计算)当前位置。在您的情况下,看起来每行都以“Word:”开头,其中三个字符留在选项卡列中。因此,如果一个单词少于三个字符,则需要一个“额外标签”。
此外,如果一个单词长于(3 + 4)个7个字符,则需要少一个单词。
总结一下,如果你想用你的代码控制布局,使用标签,你需要根据字宽使用一个变量号。