關於Read from Binary file與Write to Binary file這兩個模組練習問題

各位大大晚上好,小弟為初學新手,最近正利用http://www.labviewpro.net這個網站所提供的教學做練習


在Binary file的讀取出現了些問題,主要變因是在於Write to Binary file時設定prepend array or string size為True或是False

故小弟我在此設定為False的清況下所寫的程式如下

Binary R_W.vi

這個程式在運作時輸入跟輸出都是正確的

但是在設定為Ture的情況時,會產生ERROR CODE 4的錯誤,程式如下

Binary R_W with rule.vi

由教學網站知道Ture跟False的訊號格式

所以在Ture的情況下,小弟先將File裡的格式拆成兩個部分,一個是32bit,代表總個數的值,並且將它導入Read的序列中

ERROR CODE 4部分小弟也有先爬過文,看過http://digital.ni.com/public.nsf/websearch/a1da28a91a4680a786256d050065f294?openDocument的解決方法,但是這個解決辦法好像只是忽略ERROR方法,而最後讀出來的值也還是錯誤的


想請教各位高手大大們,小弟是否在哪處有寫錯,抑或是不夠深入的地方?還煩請大大們給予指導

感謝各位高手們

1.它是附加陣列或字串的大小到檔頭位置,如果你是儲存陣列或字串,接著你要讀取它們的話,因為檔頭位置也包含在資料裡,所以將它讀出時,如果沒有過濾掉檔頭資訊,讀出來的資料會不對

2.你可以觀察寫入包含檔頭資訊的大小,它是4 byte,如果你儲存包含檔頭資訊,你可以用ultraedit開啟,它就在檔頭位置
3.一般來說,以我的應用,儲存陣列時,不會儲存包含陣列大小,讀取時就先計算有多少byte再輸入給read from binary file的count就可讀出正確資料,如果儲存cluster時,就用預設值也就是儲存包含cluster大小,讀取時就直接輸入給read from binary file的count為1就可讀出正確資料,以上提供給你參考

[QUOTE=ancle]1.它是附加陣列或字串的大小到檔頭位置,如果你是儲存陣列或字串,接著你要讀取它們的話,因為檔頭位置也包含在資料裡,所以將它讀出時,如果沒有過濾掉檔頭資訊,讀出來的資料會不對

2.你可以觀察寫入包含檔頭資訊的大小,它是4 byte,如果你儲存包含檔頭資訊,你可以用ultraedit開啟,它就在檔頭位置
3.一般來說,以我的應用,儲存陣列時,不會儲存包含陣列大小,讀取時就先計算有多少byte再輸入給read from binary file的count就可讀出正確資料,如果儲存cluster時,就用預設值也就是儲存包含cluster大小,讀取時就直接輸入給read from binary file的count為1就可讀出正確資料,以上提供給你參考
[/QUOTE]

所以基本上使用write to binary file基本上不會使用設定為True而是使用False的方式進行存取

這樣我了解了,感謝大大的回應。