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數據文件的第一行說明了數據文件的行數和列數,此文件頭可以從文件中讀取,並且可以創建一個大小正確的數組來讀取數據。