關於文件讀寫IDL


1.打開文件

IDL從磁盤上的文件讀寫數據,必須首先把一盒邏輯設備號連接到一個指定的文件,然后進行文件操作,如打開,關閉和讀取等。IDL中的邏輯設備號的范圍是-2——128,其中1-99是用戶可以任意指定的,100-128是根據get_lun和free_lun來管理的,其他事特殊函數專用的。

0是標准輸入流,一般是鍵盤,也就是說下面命令是一只的。

read,x
read,0,x

-1是標准的輸出流,一般顯示屏幕,下面代碼是一樣的

printf,-1,x
print,x

-2是錯誤流,一般顯示屏幕

文件操作相關的函數

Openr   以只讀方式打開已經存在的文件

openw 創建一個可以讀寫的新文件

OpenU  以更新模式打開已存在的文件

File_Search()  對文件名進行特定的查找

Dialog_Pickfile() 對話框方式選擇文件

Fstate()  返回一個一打開文件的信息

EOF()  檢測是否到文件末

Close 關閉一個文件

Free_lun  釋放一個邏輯設備號,並關閉文件

-----------------------------------------------------

讀寫ASCII碼文件

IDL在讀寫該文件分為兩種格式化文件:自由文件格式和確定的文件格式

自由文件格式是用逗號(,)或空白(空格或TAB鍵)分開文件中的每個元素的ASCII文件。

確定的文件格式是用格式說明按照給定的規范進行編排的。

IDL下用Readf從文件中讀入自由格式數據,printf寫入自由格式數據到文件中。

IDL讀取自由格式文件遵循的規則:

1.如果讀入到字符串變量中,那么,在當前行剩下的所有字符傳都將讀入該變量中

2.輸入數據必須用逗號或者空格或者tab鍵分開

3.輸入通過數字變量來完成,數組和結構都可以作為數字變量的集合

4.如果當前讀入行是空行,並且還有變量要求輸入,則讀取另一行

5..如果當前讀入行不是空行,並且沒有變量要求輸入,則忽略此行剩下的數

6.盡量將數據轉換為變量所希望的數據類型

7.復數數據必須有實數和虛數兩部分,用逗號分割,並用括號括起來。

讀寫確定的文件格式

同樣用ReadF和PrintF命令  文件格式由Format關鍵字明確聲明。(在讀寫標准輸入輸出時候也可以將Format用於Read和Print)

逗號分割的數據文件

Format='(F10.3,A1,2x,F10.3,A1,2x,F10.3)'

字符串中讀取格式數據

ReadS可以從字符串變量而不是從文件為自由格式或確定格式讀取數據,使用ReadS 就像從數據文件中讀取一樣,所不同的是所讀取的對象是一個字符串變量。

當大量信息需要從文件頭部讀取時候,此命令特別有用。例如,ASCII數據文件的第一行說明了數據文件的行數和列數,此文件頭可以從文件中讀取,並且可以創建一個大小正確的數組來讀取數據。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM