Rizzolo
28-04-2010, 16:39
Salve a tutti,
mi vedo costretto per motivi di velocità di esecuzione, a tradurre un mio codice da matlab a c++.
Essendo parecchio niubbo in questo linguaggio mi trovo impossibilitato a dichiarare come "numeri" delle stringhe ottenute per lettura da un file di testo attraverso questo codice:
char anno[5];
char mese[3];
char giorno[3];
char gmt[4];
char deg_acc[9];
char ra_acc[9];
char long_deg[10];
char long_mm[9];
char long_ss[9];
char lat_deg[9];
char lat_mm[9];
char lat_ss[9];
char altitude[11];
char ora[5];
char minuti[5];
char secondi[7];
char ra_r[12];
char dec_r[11];
strncpy (anno,&dati[7],4);
anno[4]='\0';
strncpy (mese,&dati[20],3);
mese[2]='\0';
strncpy (giorno,&dati[31],3);
giorno[2]='\0';
strncpy (gmt,&dati[41],3);
gmt[3]='\0';
strncpy (deg_acc,&dati[48],8);
deg_acc[8]='\0';
strncpy (ra_acc,&dati[60],8);
ra_acc[8]='\0';
strncpy (long_deg,&dati[71],10);
long_deg[9]='\0';
strncpy (long_mm,&dati[83],9);
long_mm[8]='\0';
strncpy (long_ss,&dati[95],9);
long_ss[8]='\0';
strncpy (lat_deg,&dati[107],9);
lat_deg[8]='\0';
strncpy (lat_mm,&dati[119],9);
lat_mm[8]='\0';
strncpy (lat_ss,&dati[131],9);
lat_ss[8]='\0';
strncpy (altitude,&dati[142],11);
altitude[10]='\0';
strncpy (ora,&dati[160],4);
ora[4]='\0';
strncpy (minuti,&dati[172],4);
minuti[4]='\0';
strncpy (secondi,&dati[183],6);
secondi[5]='\0';
strncpy (ra_r,&dati[191],12);
ra_r[11]='\0';
strncpy (dec_r,&dati[205],11);
dec_r[10]='\0';
tutte queste variabili potrebbero contenere uno spazio all'inizio, alcune sono cifre intere altre invece hanno la virgola.
Ho provato tutte le soluzioni proposte dal manuale che posseggo ma niente da fare: errori in compilazione.
Non so più dove sbattere la testa.
Vi prego aiutatemi.
mi vedo costretto per motivi di velocità di esecuzione, a tradurre un mio codice da matlab a c++.
Essendo parecchio niubbo in questo linguaggio mi trovo impossibilitato a dichiarare come "numeri" delle stringhe ottenute per lettura da un file di testo attraverso questo codice:
char anno[5];
char mese[3];
char giorno[3];
char gmt[4];
char deg_acc[9];
char ra_acc[9];
char long_deg[10];
char long_mm[9];
char long_ss[9];
char lat_deg[9];
char lat_mm[9];
char lat_ss[9];
char altitude[11];
char ora[5];
char minuti[5];
char secondi[7];
char ra_r[12];
char dec_r[11];
strncpy (anno,&dati[7],4);
anno[4]='\0';
strncpy (mese,&dati[20],3);
mese[2]='\0';
strncpy (giorno,&dati[31],3);
giorno[2]='\0';
strncpy (gmt,&dati[41],3);
gmt[3]='\0';
strncpy (deg_acc,&dati[48],8);
deg_acc[8]='\0';
strncpy (ra_acc,&dati[60],8);
ra_acc[8]='\0';
strncpy (long_deg,&dati[71],10);
long_deg[9]='\0';
strncpy (long_mm,&dati[83],9);
long_mm[8]='\0';
strncpy (long_ss,&dati[95],9);
long_ss[8]='\0';
strncpy (lat_deg,&dati[107],9);
lat_deg[8]='\0';
strncpy (lat_mm,&dati[119],9);
lat_mm[8]='\0';
strncpy (lat_ss,&dati[131],9);
lat_ss[8]='\0';
strncpy (altitude,&dati[142],11);
altitude[10]='\0';
strncpy (ora,&dati[160],4);
ora[4]='\0';
strncpy (minuti,&dati[172],4);
minuti[4]='\0';
strncpy (secondi,&dati[183],6);
secondi[5]='\0';
strncpy (ra_r,&dati[191],12);
ra_r[11]='\0';
strncpy (dec_r,&dati[205],11);
dec_r[10]='\0';
tutte queste variabili potrebbero contenere uno spazio all'inizio, alcune sono cifre intere altre invece hanno la virgola.
Ho provato tutte le soluzioni proposte dal manuale che posseggo ma niente da fare: errori in compilazione.
Non so più dove sbattere la testa.
Vi prego aiutatemi.