Volevo sapere come è possibile leggere un numero partendo da una specifica posizione da file.
io ho un file txt del tipo:
codice:
nome 35 47 39
nome2 34 32 24
e vorrei mettere in un array tutti i numeri della prima colonna.
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;
}