1

これは期待される出力です:

COUNT | WORD 
------+------
   1  | .3
   1  | .3.4
   1  | 3
   2  | 12.34
   1  | test1.12.34
   3  | this

これは私の適切なコードです:

std::cout << "COUNT | WORD" << '\n';
std::cout << "------+------" << '\n';
std::cout << std::setw(4) << "1" << std::setw(3) << '|' <<  std::setw(3) << ".3" << '\n';
std::cout << std::setw(4) << "1" << std::setw(3) << '|' <<  std::setw(3) << ".3.4" << '\n';
std::cout << std::setw(4) << "1" << std::setw(3) << '|' <<  std::setw(3) << "3" << '\n';
std::cout << std::setw(4) << "2" << std::setw(3) << '|' <<  std::setw(3) << "12.34" << '\n';
std::cout << std::setw(4) << "1" << std::setw(3) << '|' <<  std::setw(3) << "test1.12.34" << '\n';
std::cout << std::setw(4) << "3" << std::setw(3) << '|' <<  std::setw(3) << "this" << '\n';

残念ながら、私の出力は単語が乱雑です

COUNT | WORD
------+------
   1  | .3
   1  |.3.4
   1  |  3
   2  |12.34
   1  |test1.12.34
   2  |this

誰かが私にその解決策を提案できますか。ありがとう

4

3 に答える 3

2

なぜこれではないのですか::

std::cout << "COUNT | WORD" << '\n';
std::cout << "------+------" << '\n';
std::cout << std::setw(4) << "1" << std::setw(3) << '|' <<  ' ' << ".3" << '\n';
std::cout << std::setw(4) << "1" << std::setw(3) << '|' <<  ' ' << ".3.4" << '\n';
std::cout << std::setw(4) << "1" << std::setw(3) << '|' <<  ' ' << "3" << '\n';
std::cout << std::setw(4) << "2" << std::setw(3) << '|' <<  ' ' << "12.34" << '\n';
std::cout << std::setw(4) << "1" << std::setw(3) << '|' <<  ' ' << "test1.12.34" << '\n';
std::cout << std::setw(4) << "3" << std::setw(3) << '|' <<  ' ' << "this" << '\n';
于 2012-05-02T21:29:57.210 に答える
2

持つ代わりに

std::cout << std::setw(4) << "1" << std::setw(3) << '|' <<  std::setw(3) << ".3" << '\n';

行ごとに、「|」の後にスペースを追加します キャラクター:

std::cout << std::setw(4) << "1" << std::setw(3) << "| " <<  std::setw(3) << ".3" << '\n';
于 2012-05-02T21:28:18.290 に答える
0

これを行うと、左側のフィラー文字が設定されます。

cout.fill('-');
cout.width(40);
cout<< "LINE1" <<endl;

cout.fill('-');
cout.width(40);
cout<< 3 <<endl;

cout.fill('-');
cout.width(40);
cout<< 3.4 <<endl;

cout.fill('-');
cout.width(40);
cout<< "TEST " << 12.34 <<endl;
于 2012-05-02T21:38:47.853 に答える