Salve a tutti sono nuovo del forum e ancora non esperto di C++ ma a lavoro mi assegnano dei compiti che spesso mi risultano ancora molto difficili, per questo sarebbe gentilissimo da parte vostra se ci fosse qualcuno in grado di aiutarmi nella risolizione del mio problema.
In poche parole dovrei trasfrire dei dati da un .txt ad un altro .txt e numerare progressivamente l'intestazione di ogni riga nel modo 001, 002, 003, ..., 010 e così via, cioè a tre cifre) quando i dati vengono riscritti nel secondo .txt.
Ho scritto un programma che sostanzialmente assolve al compito, ma la cosa in cui proprio non riesco è trovare un modo per far comparire all'inizio di ogni riga la numerazione progressiva a tre cifre desiderata del tipo come esemplificata sopra tra parentesi. Nel mio programma (che lascero qui di seguito) uso banalmente una var int dichiarata, che si auto incrementa ad ogni ciclo while, ma purtroppo mi è stato detto che così non va bene :,( L'unico suggerimento che mi hanno dato è di usare la funzione sprintf che purtroppo non conosco e che per questo non so maneggiare ancora bene.
Avete un idea di come poter fare per risolvere? Ve ne sarei molto grato.
#include <iostream>
#include <fstream>
using namespace std;
//Definisco dei parametri facilmente modificabili
#define MAX_LINES 50
#define MAX_LINE_LEN 255
int main(int argc, char *argv[])
{
ofstream f("C:\\AveMariaEin.txt"); //se il file non esiste lo crea, altrimenti lo sovrascrive!
// strings array declaration
char row[MAX_LINE_LEN];
// open text file
ifstream in( "C:\\AveMaria.txt" );
int rowNumber = 0;
int j = 0;
//each row wi
while ( !in.eof() )
{
rowNumber++;
in.getline(row, MAX_LINE_LEN);
f << rowNumber << row << endl;
}