PHP中如何將fseek指標向前移動

時間 2022-04-16 11:55:13

1樓:你好啊

$output='test.txt';

//寫入方式開啟檔案

$fp = fopen($output, 'w');

$line = pack("n4", 1,0,0,1);

//n 長度 16位 2位元組

//n 長度 32位 4位元組

fwrite($fp, $line);

//test.txt 十六進位制 內容 00 01 00 00 00 00 00 01

fseek($fp, 2);//移動指標到第2個位元組位置$line = pack("n",9999);

fwrite($fp, $line);

//test.txt 十六進位制 內容 00 01 27 0f 00 00 00 01

fseek($fp, 1);//移動指標到第1個位元組位置$line = pack("n",9999);

fwrite($fp, $line);

//test.txt 十六進位制 內容 00 27 0f 0f 00 00 00 01

fclose($fp);

2樓:網際網路前世今生

fseek() 函式在開啟的檔案中定位。

該函式把檔案指標從當前位置向前或向後移動到新的位置,新位置從檔案頭開始以位元組數度量。

成功則返回 0;否則返回 -1。注意,移動到 eof 之後的位置不會產生錯誤。

語法fseek(file,offset,whence)引數 描述

file 必需。規定要在其中定位的檔案。

offset 必需。規定新的位置(從檔案頭開始以位元組數度量)。

whence 可選。可能的值:

seek_set - 設定位置等於 offset 位元組。預設。

seek_cur - 設定位置為當前位置加上 offset。

seek_end - 設定位置為檔案末尾加上 offset (要移動到檔案尾之前的位置,offset 必須是一個負值)。

如何把檔案指標所指向的位置從最後一個一個往前移

關於fseek的指標移動的問題。

3樓:匿名使用者

實際是,第二次你讀了2個位元組就換行了,num沒有清零,所以輸出就是8了

為什麼是2個位元組呢,因為abcd後面跟著的是【回車】【換行】兩個字元,你找一個二進位制編輯器開啟就可以看到abcd和efghijkl之間有兩個位元組。

第一次讀取後,指標在e這個位置,後退4個位元組,就是在c這個位置了

4樓:龍__鳳

fseek函式的呼叫形式:

fseek(檔案型別指標,位移量,起始點)起始點用012表示

0 檔案開始 seek_set1 檔案當前位置 seek_cur2 檔案末尾 seek_end位移量:指以起始點為基準,向前移動的位元組數。

c語言中,fseek函式怎麼控制移動的方向?怎麼往前或往後,最好能有個例子。 謝謝!

5樓:匿名使用者

fseek有三個引數,第1個是檔案控制代碼,通過開啟檔案時得到;第2個就是移動的位元組數,這個數可以是正的,就是向後(檔案尾部)移動,也可以是負的,即向前(檔案頭部)移動;第3個引數指明從**移動,如果寫seek_set就是從檔案頭部移動多少位元組,如果寫seek_end則是從尾部開始移動,seek_cur則是從當前位置移動。

比如要將檔案指標移動到檔案開始的第24位元組位置:fseek(fp,24,seek_set);

移動到檔案尾部向前50位元組:fseek(fp,-50,seek_set);

在當前位置移動8個位元組(跳過8個位元組資料):fseek(fp,8,seek_cur);

在當前位置向前移動16個位元組(準備重新讀取資料):fseek(fp,-16,seek_cur);

php 的 fseek 函式的用法

6樓:釣俠

fseek函式小案例:

<?php

$file = fopen("test.txt","r");

// 讀取第一行

fgets($file);

// 倒回檔案的開頭

fseek($file,0);

?>

fseek函式介紹:

fseek() 函式在開啟的檔案中定位。

該函式把檔案指標從當前位置向前或向後移動到新的位置,新位置從檔案頭開始以位元組數度量。

成功則返回 0;否則返回 -1。注意,移動到 eof 之後的位置不會產生錯誤。

fseek函式的語法:

fseek(file,offset,whence)引數介紹:

file :

必需。規定要在其中定位的檔案。

offset:

必需。規定新的位置(從檔案頭開始以位元組數度量)。

whence :

可選。可能的值:

seek_set - 設定位置等於 offset 位元組。預設。

seek_cur - 設定位置為當前位置加上 offset。

seek_end - 設定位置為檔案末尾加上 offset (要移動到檔案尾之前的位置,offset 必須是一個負值)。

7樓:

fseek(file,50,seek_cur)意味「從當前位置往後跳"50個位元組。比如當前已讀10,往後跳等於10+50,停在60處。

fseek(file,-50,seek_end )意味「從檔案尾部往前跳」50個位元組。因為到了檔案末尾,所以必須是負值,往前跳。檔案長123位元組,執行後將停在123-50=第73位元組處。

fseek(file,50,seek_cur)意味「從檔案頭部往後跳」50個位元組。跳多少就停在多少處

c語言中檔案指標怎樣向前移動一個位元組

8樓:

你是用c標準i/o庫函式的話,

(1)檔案定位:

檔案定位指讀取或設定檔案當前讀寫點,所有的通過檔案指標讀寫資料的函式,都是從檔案的當前讀寫點讀寫資料的。

常用的函式有:

#include

int fseek(file *stream, long offset, int whence);

fseek 設定當前讀寫點到 offset 處,

whence 可以是 seek_set,seek_cur,seek_end,這些值決定是

從檔案頭、當前點和檔案尾計算偏移量 offset.

你可以定義一個檔案指標file *fp,當你開啟一個檔案時,檔案指標指向開頭,

你要指到多少個位元組,只要控制偏移量就好,例如

相對當前位置往後移動一個位元組:fseek(fp,1,seek_cur);中間的值就是偏移量。

如果你要往前移動一個位元組,直接改為負值就可以:fseek(fp,-1,seek_cur)

如何將中所有單位改為上標,如何將word中所有單位改為上標?

這個容易,你用滑鼠拉黑後面的數字,用右鍵在拉黑的範圍內開啟一個選單,點字型,會再出現一個選項框來,在效果那一欄就能找到上標 前面有個選框 你點選,再按確定,數字就變成了上標了,如果有很多要改上標的話,雙擊格式刷工具 單擊只能改一個數字,雙擊可以改多個數字 刷黑那個已經改為上標的數字,再去刷其他需要改...

如何將中的複製到另中,如何將word中的一頁複製到另一個word中

逗比耶魯 操作步驟如下 1.為了方便講解,本經驗採用文件1和文件2為例進行講解。如圖所示,要把文件1的內容按原格式複製到文件2中,現在給大家簡單的介紹 2.然後開啟文件1裡面有內容 3.而文件2裡面卻沒有 4.開啟文件2,選定你要貼上的位置,單擊選單欄中的 插入 5.然後單擊 物件 開啟物件的對話方...

如何將js輸出到html原始碼中,如何將js 輸出到html原始碼中

育知同創教育 window.onload function document.getelementbyid test innerhtml document.getelementbyid test innerhtml arr i i 200 js中的for迴圈輸出,怎麼輸出到html中的指定位置 迴圈...