Ciao a tutti, mi si presenta il seguente problema:
devo scrivere un programma in C++ che legga da un file con estensione .out delle righe, organizzate in colonne, cioè del tipo
codice:
1 3 1 2 0 688.5 4.9338 -4.3086 -2.4037 13980.000 13980.001 -0.000308208 -0.000171943
1 3 1 2 0 446.1 1.6010 -1.1634 -1.0999 13980.000 13980.000 -0.000083229 -0.000078682
2 -10 1 0 0 0.5833 8.0218 2.2202 7.7085 -13980.000 13980.006 0.000116279 0.001091720
fin qui tutto bene con la funzione getline.
Devo poi epurare queste righe da quelle che contengono dei meno in certe colonne, tipo la terza riga con -10. fin qui ci sono arrivato utilizzando l'istruzione
codice:
if (line[10]=='-')
, dove line è il secondo parametro utilizzato nella funzione getline, il primo è il nome del file, mentre 10 è il posto in cui dovrebbe essere messo il -.
ora devo scrivere queste righe, riorganizzandole, in un file ROOT, il problema che mi sono posto è che devo mantenere la formattazione originale, inoltre in questo momento, io ho una string, cioè un insieme di caratteri, mentre ROOT richiede dei numeri, quindi il file deve essere riempito con dei numeri. Cercando in giro ho trovato le funzioni atoi, atof etc. ma come faccio a richiamarle per trasformare tutti i numeri di ogni singola riga? e come faccio a trasformare i numeri che hanno più di una cifra?
grazie in anticipo a tutti coloro che volessero aiutarmi.
Ciao
P.S. Vi assicuro che la formattazione dei dati è giusta, non riesco a riprodurla nel post ma le righe sono ben allineate