?? 第十一章 文件系統.htm
字號:
<td>在文件中向前/后移動,有三個參數:<br>1、filevar,文件變量<br>2、distance,移動的字節數,正數向前移動,負數往回移動<br>3、reletive_to,值可為0、1或2。為0時,從文件頭開始移動,為1時,相對于當前位置(將要讀的下一行)移動,為2時,相對于文件末尾移動。<br>運行成功返回真(非零值),失敗則返回零,常與tell函數合用。</td>
</tr>
</table></p>
<p><table border="1" cellspacing="1">
<tr>
<td>函數名</td>
<td>tell</td>
</tr>
<tr>
<td>調用語法</td>
<td>tell (filevar);</td>
</tr>
<tr>
<td>解說</td>
<td>返回從文件頭到當前位置的距離。<br>注意:<br>1、seek和tell不能用于指向管道的文件變量。<br>2、seek和tell中文件變量參數可使用表達式。</td>
</tr>
</table></p>
<a name="1.3">3、系統讀寫函數</a><br>
<p><table border="1" cellspacing="1">
<tr>
<td>函數名</td>
<td>read</td>
</tr>
<tr>
<td>調用語法</td>
<td>read (filevar, result, length, skipval);</td>
</tr>
<tr>
<td>解說</td>
<td>read函數設計得與UNIX的fread函數等效,可以讀取任意長度的字符(字節)存入一個簡單變量。其參數有四個:<br>1、filevar:文件變量<br>2、result:存貯結果的簡單變量(或數組元素)<br>3、length:讀取的字節數<br>4、skipval:可選項,指定讀文件之前跳過的字節數。<br>返回值為實際讀取的字節數,如果已到了文件末尾,則返回零,如果出錯,則返回空串。</td>
</tr>
</table></p>
<p><table border="1" cellspacing="1">
<tr>
<td>函數名</td>
<td>sysread</td>
</tr>
<tr>
<td>調用語法</td>
<td>sysread (filevar, result, length, skipval);</td>
</tr>
<tr>
<td>解說</td>
<td>更快的讀取數據,與UNIX函數read等效,參數與read相同。</td>
</tr>
</table></p>
<p><table border="1" cellspacing="1">
<tr>
<td>函數名</td>
<td>syswrite</td>
</tr>
<tr>
<td>調用語法</td>
<td>syswrite (filevar, data, length, skipval);</td>
</tr>
<tr>
<td>解說</td>
<td>更快的寫入數據,與UNIX函數write等效,參數:<br>1、filevar:將要寫入的文件<br>2、data:存貯要寫入數據的變量<br>3、length:要寫入的字節數<br>4、skipval寫操作之前跳過的字節數。</td>
</tr>
</table></p>
<a name="1.4">4、用getc讀取字符</a><br>
<p><table border="1" cellspacing="1">
<tr>
<td>函數名</td>
<td>getc</td>
</tr>
<tr>
<td>調用語法</td>
<td>$char = getc (infile);</td>
</tr>
<tr>
<td>解說</td>
<td>從文件中讀取單個字符。</td>
</tr>
</table></p>
<a name="1.5">5、用binmode讀取二進制文件</a><br>
<p><table border="1" cellspacing="1">
<tr>
<td>函數名</td>
<td>binmode</td>
</tr>
<tr>
<td>調用語法</td>
<td>binmode (filevar);</td>
</tr>
<tr>
<td>解說</td>
<td>當你的系統(如類DOS系統)對文本文件和二進制文件有所區別時使用。必須在打開文件后、讀取文件前使用。</td>
</tr>
</table></p>
<a name="2">二、目錄處理函數
<p><table border="1" cellspacing="1">
<tr>
<td>函數名</td>
<td><a name="2.1">mkdir</a></td>
</tr>
<tr>
<td>調用語法</td>
<td>mkdir (dirname, permissions);</td>
</tr>
<tr>
<td>解說</td>
<td>創建新目錄,參數為:<br>1、dirname:將要創建的目錄名,可以為字符串或表達式<br>2、permissions:8進制數,指定目錄的訪問權限,其值和意義見下表,權限的組合方法為將相應的值相加。</td>
</tr>
</table></p>
<p><table border="1" cellspacing="1">
<tr>
<td>值</td>
<td>權限</td>
</tr>
<tr>
<td>4000 </td>
<td>運行時設置用戶ID </td>
</tr>
<tr>
<td>2000</td>
<td>運行時設置組ID</td>
</tr>
<tr>
<td>1000</td>
<td>粘貼位</td>
</tr>
<tr>
<td>0400</td>
<td>擁有者讀權限</td>
</tr>
<tr>
<td>0200</td>
<td>擁有者寫權限</td>
</tr>
<tr>
<td>0100</td>
<td>擁有者執行權限</td>
</tr>
<tr>
<td>0040</td>
<td>組讀權限</td>
</tr>
<tr>
<td>0020</td>
<td>組寫權限</td>
</tr>
<tr>
<td>0010</td>
<td>組執行權限</td>
</tr>
<tr>
<td>0004</td>
<td>所有人讀權限</td>
</tr>
<tr>
<td>0002</td>
<td>所有人寫權限</td>
</tr>
<tr>
<td>0001</td>
<td>所有人執行權限</td>
</tr>
</table></p>
<p><table border="1" cellspacing="1">
<tr>
<td>函數名</td>
<td><a name="2.2">chdir</a></td>
</tr>
<tr>
<td>調用語法</td>
<td>chdir (dirname);</td>
</tr>
<tr>
<td>解說</td>
<td>改變當前工作目錄。參數dirname可以為字符串,也可以為表達式。</td>
</tr>
</table></p>
<p><table border="1" cellspacing="1">
<tr>
<td>函數名</td>
<td><a name="2.3">opendir</a></td>
</tr>
<tr>
<td>調用語法</td>
<td>opendir (dirvar, dirname);</td>
</tr>
<tr>
<td>解說</td>
<td>打開目錄,與下面幾個函數合用,可查看某目錄中文件列表。參數為:<br>1、dirvar:目錄變量,與文件變量類似<br>2、dirname:目錄名,可為字符串或表達式<br>成功返回真值,失敗返回假。<br>注:程序中可用同名的目錄變量和文件變量,根據環境確定取成分。</td>
</tr>
</table></p>
<p><table border="1" cellspacing="1">
<tr>
<td>函數名</td>
<td><a name="2.4">closedir</a></td>
</tr>
<tr>
<td>調用語法</td>
<td>closedir (mydir);</td>
</tr>
<tr>
<td>解說</td>
<td>關閉打開的目錄。</td>
</tr>
</table></p>
<p><table border="1" cellspacing="1">
<tr>
<td>函數名</td>
<td><a name="2.5">readdir</a></td>
</tr>
<tr>
<td>調用語法</td>
<td>readdir (mydir);</td>
</tr>
<tr>
<td>解說</td>
<td>賦給簡單變量時,每次賦予一個文件或子目錄名,對數組則賦予全部文件和子目錄名。</td>
</tr>
</table></p>
<p><table border="1" cellspacing="1">
<tr>
<td>函數名</td>
<td><a name="2.6">telldir</a></td>
</tr>
<tr>
<td>調用語法</td>
<td>location = telldir (mydir);</td>
</tr>
<tr>
<td>解說</td>
<td>象在文件中前后移動一樣,telldir和下面的seekdir用于在目錄列表中前后移動。</td>
</tr>
</table></p>
<p><table border="1" cellspacing="1">
<tr>
<td>函數名</td>
<td><a name="2.7">seekdir</a></td>
</tr>
<tr>
<td>調用語法</td>
<td>seekdir(mydir, location);</td>
</tr>
<tr>
<td>解說</td>
<td>location必須為telldir返回的值。</td>
</tr>
</table></p>
<p><table border="1" cellspacing="1">
<tr>
<td>函數名</td>
<td><a name="2.8">rewinddir</a></td>
</tr>
<tr>
<td>調用語法</td>
<td>rewinddir (mydir);</td>
</tr>
<tr>
<td>解說</td>
<td>將讀取目錄的位置重置回開頭,從而可以重讀目錄列表。</td>
</tr>
</table></p>
<p><table border="1" cellspacing="1">
<tr>
<td>函數名</td>
<td><a name="2.9">rmdir</a></td>
</tr>
<tr>
<td>調用語法</td>
<td>rmdir (dirname);</td>
</tr>
<tr>
<td>解說</td>
<td>刪除空目錄。成功則返回真(非零值),失敗返回假(零值)。</td>
</tr>
</table></p>
<a name="3">三、文件屬性函數</a><br>
<a name="3.1">1、文件重定位函數</a><br>
<p><table border="1" cellspacing="1">
<tr>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -