В этом коде я хочу, чтобы числа печатались в специальном формате, начиная с 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;
}
setfill
а также setw
манипуляторы для следующий только выходная операция. Таким образом, в вашем случае вы установите его для вывода TEXT
,
Вместо этого, например,
oFile << TEXT << std::setfill('0') << std::setw(3) << i << endl;
Других решений пока нет …