04-21-2017 04:07 AM
Buongiorno,
Ho un problema probabilmente banale ma non riesco ad uscirne.
Ho una char buf[100] contenente vari dati separati da ";".
es. campoA;campoB;campoC;campoD;campoE;campoF;
Vorrei utilizzare la funzione Scan per estrarre i 6 dati in un array di char dati[6][30].
Guardando gli esempi sul CVI l'unica opzione che ci assomiglia è "%s>%s[t59]" dove si estrae fino al carattere ";".
Questo funziona solamente per il primo campo
Scan (buf, "%s>%s[t59]%s>%s[t59]%s>%s[t59]%s>%s[t59]%s>%s[t59]%s>%s[t59]", dati[0], dati[1], dati[2], dati[3], dati[4], dati[5]);
Ho provato varie combinazioni sul format string;
"%s[t59]%s[t59]%s[t59]%s[t59]%s[t59]%s[t59]"
"%s;%s;%s;%s;%s;%s"
ma non funziona.
Qualcuno riesce ad aiutarmi ?
Solved! Go to Solution.
04-21-2017 09:27 AM
Questo perchè non hai aggiunto il carattere 'x' per scartare il punto e virgola. Il corretto format string è "%s[xt59]%s[xt59]%s[xt59]%s[xt59]%s[xt59]%s[xt59]": messo questo, Scan elabora un campo, si ferma al punto e virgola, lo scarta e prosegue con il campo successivo. Senza la 'x' la funzione elabora il primo campo e si ferma al punto e virgola, poi continua a cercare di estrarre dati dalla stringa, ma siccome il puntatore è già su un punto e virgola non estrae nulla.
04-26-2017 01:12 AM
Perfetto funziona 🙂 ... grazie 1000 per l'aiuto