Scusate non sono sicuro di aver fatto un buon lavoro:
nell'header "ohlc.h" dichiaro un nuovo tipo detto ohlc come segue
e nel source voglio acquisire dei dati da file che passo da riga di comando (argv[1])codice:#IFNDEF __OHLC_H #DEFINE __OHLC_H typedef struct myohlc{ float open; float high; float low; float close; }ohlc; #ENDIF
i dati sono scritti in 4 colonne e ciascuna riga contiene in seguenza open, high, low, close
è corretto il seguente source per cerare un array di struct del ripo ohlc che contenga i dati acquisiti dal file txt?
(ho usato lo stream del stdio perchè ancora sto capendo come funzionano le stream class del C++)
grazie millecodice:#IFNDEF __OHLC_CPP #DEFINE __OHLC_CPP #include <iostream> #include <stdio.h> #include <cmath> #include "ohlc.h" using namespace std; int main(int argc, char **argv){ int N, i=0; FILE *stream; //ohlc --> typdef struct ohlc presente in ohlc.h, size = sizeof(float)*4 ohlc* dati; cout << "inserire numero barre OHLC da acquisire: "; cin >> &N; dati = (ohlc*)calloc(N, sizeof(ohlc)); //passo dati da terminale stream = fopen( "argv[1]", "r"); //acquisisco file da argv[1] while( stream != NULL){ scanf = ("%f%f%f%f", dati[i]->open, dati[i]->high, dati[i]->low, dati[i]->close)); i++; } fclose(stream);
p.s. penso ci sia un problema con l'header....cioè praticamente eseguendo typdef in quel modo non ho capito se il nuovo tipo è myohlc o ohlc??? l'errore che mi dà è che -> operand in dati[i]-> non è un puntatore myohlc?

Rispondi quotando
, serve 
