Volevo sapere come è possibile leggere un numero partendo da una specifica posizione da file.
io ho un file txt del tipo:
e vorrei mettere in un array tutti i numeri della prima colonna.codice:nome 35 47 39 nome2 34 32 24
come faccio? io ho provato ad usare seekg() per spostarmi fino al byte del numero e poi leggere un numero attraverso un get() e poi convertendo il char preso con un int, ma questo non funziona, ho provato anche con lo stream >> ma non funziona...
questo è il codice (non funzionante)
codice:#include <iostream> #include <fstream> #include <string> using namespace std; struct sq { char nome[13]; int col; }; int main(){ struct sq a[20]; ifstream in("dati.txt"); int i=0; if(in.is_open() && in.good()){ while(!in.eof()){ char b; in.seekg(25); in.get(b,2,' '); a[i].col=(int)b; char next; while(in.get(next)){ if(next=='\n'){ break; } } i++; } } for(int j=0;j<20;j++){ cout<<a[j].col<<endl; } return 0; }