4

このコードでは、次のように、固定テキストの前に 0 から 1000 までの特別な形式で数値を出力したいと考えています。

テスト 001
テスト 002
テスト 003
...
テスト 999

しかし、私はそれを次のように表示するのは好きではありません

テスト 1
テスト 2
...
テスト 10
...
テスト 999

次の C++ プログラムが前述のジョブを実行できない原因は何ですか?

#include<iostream>
#include<string>
#include<fstream>
#include<iomanip>
using  namespace std;

const string TEXT = "Test: ";

int main()
{

    const int MAX = 1000;
    ofstream oFile;

    oFile.open("output.txt");


    for (int i = 0; i < MAX; i++) {
        oFile << std::setfill('0')<< std::setw(3) ;
        oFile << TEXT << i << endl;
    }


    return 0;
}
4

1 に答える 1

10

およびマニピュレータは、setfill出力操作専用です。したがって、あなたの場合は、の出力用に設定します。setw TEXT

代わりに例えば

oFile << TEXT << std::setfill('0') << std::setw(3) << i << endl;
于 2016-01-11T20:36:58.313 に答える