Forum Italiano sui Prodotti NI

cancel
Showing results for 
Search instead for 
Did you mean: 
Reply

CVI Scan su più target char

Solved!
Go to solution

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 ?

 

0 Kudos
Message 1 of 3
(1,136 Views)
Solution
Accepted by topic author Luca1975
04-25-2017 11:11 PM

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.



Proud to use LW/CVI from 3.1 on.

My contributions to the Developer Community
________________________________________
If I have helped you, why not giving me a kudos?
Message 2 of 3
(1,101 Views)

Perfetto funziona :-) ... grazie 1000 per l'aiuto

0 Kudos
Message 3 of 3
(1,086 Views)