Pages: [1]   Go Down
Author Topic: Uso dell'istruzione SPLIT -  (Read 310 times)
0 Members and 1 Guest are viewing this topic.
Imperia
Offline Offline
Newbie
*
Karma: 0
Posts: 45
geofisica & datalogger
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Dopo aver superato grosse difficoltà di programmazione in poco tempo, mi sono bloccato probabilmente per qualche banalità nell'uso del comando SPLIT .

il mio problema è il seguente:
ho una serie di dati salvati in un array del seguente tipo:

-52 -130 206
-202 -52 -59
-81 -70 22
50 174 -48
238 106 133
19 102 170
36 87 -18
-65 -190 -186
290 -65 -60
99 -41 9
-154 -93 -30
-204 23 -125
-190 -116 -26
-122 -44 38

salvati in un file DATI.TXT

Nelle operazioni fi caricamento del file commetto qualche errore, quale è la procedura più veloce per creare un arrai multipo tipo datixyz[][][]      oppure in tre array  tipo:  dato x[]   dato y[]     dato[z]  ????

in pratica quello che si faceva in VB

open "dati.txt" for input as #1
for i =1 to dati
input#1; x(i),y(i),z(i)
next i
close #1

un ringraziamento anticipato a tutti coloro che mi potranno aiutare.
saluti  angelo
Logged

0
Offline Offline
Shannon Member
****
Karma: 117
Posts: 10115
:(){:|:&};: TOX id: fcb8e918bef08581e23f6ddf9d4dba77697c25b217bf372736ed959a95fde36df5b8c5b90fbb
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

uguale identico, solo che i comandi li riscrivi in C.... o meglio arduiniano  smiley-grin

Code:
//open "dati.txt" for input as #1 diventa:
File myFile; //contiene il descrittore del file, ovvero un po' di info utili, come dove siamo arrivati a leggerlo, la dimensione, etc..
SD.open("dati.txt"); //non mettere niente oltre al nome del file vuol dire lettura, altrimenti fai SD.open("test.txt", FILE_WRITE);

if (myFile) {//controlla che il file esista, controllo che tu non fai
  //for i =1 to dati diventa:
  int i=0; //gli array in C e il 99% dei linguaggi iniziano da 0
  while (myFile.available()) {
    //input#1; x(i),y(i),z(i) diventa:
    x[i] = leggiIntero();
    y[i] = leggiIntero();
    z[i] = leggiIntero();
  }
  //close #1 diventa:
  myFile.close();
}else{
  Serial.println("error opening file");
}



ATTENZIONE: leggiIntero è una funzione che devi scrivere tu. Da file tu stai leggendo UN CARATTERE, quindi dovrai leggere i caratteri fino allo spazio " " o al a capo '\n', poi con atoi trasformi la stringa che hai letto in numero
Logged

my Arduino code: https://github.com/lestofante/arduinoSketch
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Pages: [1]   Go Up
Jump to: