最近複習網路程式設計相關的知識點。
遇見了lseek。
一、獲取檔案大小
/*測得檔案大小*/
int filelen;
int fd;
int filelen= lseek(fd,0l,seek_end);
lseek(fd,0l,seek_set);
printf("file size is %d\n",filelen);
二、lseek使用說明
表頭檔案
#include
#include
定義函式
off_t lseek(int filde,off_t offset ,int whence);
eek_set 將讀寫位置指向檔案頭後再增加offset個位移量。
seek_cur 以目前的讀寫位置往後增加offset個位移量。
seek_end 將讀寫位置指向檔案尾後再增加offset個位移量。
當whence 值為seek_cur 或seek_end時,引數offet允許負值的出現。
下列是較特別的使用方式:
1) 欲將讀寫位置移到檔案開頭時:
lseek(int fildes,0,seek_set);
2) 欲將讀寫位置移到檔案尾時:
lseek(int fildes,0,seek_end);
3) 想要取得目前檔案位置時:
lseek(int fildes,0,seek_cur);
返回值:
當呼叫成功時則返回目前的讀寫位置,也就是距離檔案開頭多少個位元組。若有錯誤則返回-1,errno 會存放錯誤**。
可能設定erron的錯誤**:
ebadf: fildes不是乙個開啟的檔案描述符。
espipe:檔案描述符被分配到乙個管道、套接字或fifo。
einval:whence取值不當。
linux 使用lseek函式來獲取檔案大小
一 獲取檔案大小 測得檔案大小 int filelen int fd int filelen lseek fd,0l,seek end lseek fd,0l,seek set printf file size is d n filelen 二 lseek使用說明 表頭檔案 include incl...
linux 使用lseek函式來獲取檔案大小
一 獲取檔案大小 測得檔案大小 int filelen int fd int filelen lseek fd,0l,seek end lseek fd,0l,seek set printf file size is d n filelen 二 lseek使用說明 表頭檔案 include incl...
獲取檔案大小
1 找到檔案所在的絕對路徑。系統路徑 projectpath request.getsession getservletcontext getrealpath 檔案路徑 在上傳檔案的時候,一定會有檔案相對路徑,如果不清楚,可以打斷點然後在本地找到此檔案。檔案相對路徑 filepath 絕對路徑rea...