From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Forum Italiano sui Prodotti NI

cancel
Showing results for 
Search instead for 
Did you mean: 

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
(3,044 Views)
Solution
Accepted by topic author Luca1975

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
(3,009 Views)

Perfetto funziona 🙂 ... grazie 1000 per l'aiuto

0 Kudos
Message 3 of 3
(2,994 Views)