linux下呼叫庫函式實現檔案的讀寫

2021-08-27 16:59:01 字數 2167 閱讀 9056

1. linux系統呼叫,檔案的描述符使用的是乙個整數,庫函式訪問檔案使用file型別的指標去指向描述檔案;

2. 庫函式不隨系統平台而變,即不管win還是linux都適用;

庫函式- 讀檔案

size_t fread(void *ptr, size_t size, size_t n, file *stream)

功能:

stream

指向的檔案中讀取

n個字段,每個欄位為

size

位元組,並將讀取的資料放入

ptr所指向的字元陣列中,返回實際已讀取的位元組數。(讀出來的資料量為

size*n

庫函式- 寫檔案

size_t fwrite(const void *ptr, size_t size, size_t n, file *stream)

功能:從緩衝區

ptr所指向的陣列中把

n個字段寫到

stream

指向的檔案中,每個字段長為

size

個位元組,返回實際寫入的字段數。

庫函式- 建立和開啟

file *fopen(const char *filename, const char *mode)

filename:開啟的檔名(包含路徑,預設為當前路徑)

mode:開啟模式

例項**

root@wl-ms-7673:/home/wl/桌面/c++# cat -n file_lib_copy.cpp 

1 2 #include 3 #include 4 #include 5 #define buffer_size 1024

6 7 /*

8 * 程式入口

9 * */

10 int main(int argc,char **argv)

11

24 25 /* 開啟原始檔 */

26 if((from_fd=fopen(argv[1],"rb"))==null)

27

31 32 /* 建立目的檔案 */

33 if((to_fd=fopen(argv[2],"wb"))==null)

34

38 39 /*測得檔案大小*/

40 fseek(from_fd,0l,seek_end);

41 file_len=ftell(from_fd);

42 fseek(from_fd,0l,seek_set);

43 printf("form file size is=%d\n",file_len);

44 45 /*進行檔案拷貝*/

46 while(!feof(from_fd))

47 53 else

54

58 bzero(buffer,buffer_size);

59 }

60 fclose(from_fd);

61 fclose(to_fd);

62 exit(0);

63 }

64 65

root@wl-ms-7673:/home/wl/桌面/c++# g++ file_lib_copy.cpp -o file_lib_copy

file_lib_copy.cpp: 在函式『int main(int, char**)』中:

file_lib_copy.cpp:43:41: 警告: 格式 『%d』 expects argument of type 『int』, but argument 2 has type 『long int』 [-wformat]

root@wl-ms-7673:/home/wl/桌面/c++# ./file_lib_copy file_lib_copy.cpp test2.c

form file size is=1030

root@wl-ms-7673:/home/wl/桌面/c++#

linux 下呼叫python檔案

在linux下直接呼叫python 檔案的方法 在裝有python環境的系統下執行 python 檔名.py 利用shell檔案呼叫python的方法 step01 建立python指令碼,例如 pythontest.r step02 建立shell指令碼,例如 runpythontest.sh,內...

Linux系統呼叫和庫函式呼叫

linux下對檔案操作有兩種方式 系統呼叫 system call 和庫函式呼叫 library functions 可以參考 linux程式設計 英文原版為 beginning linux programming 作者是neil matthew和richard stones 第三章 working...

Linux系統呼叫和庫函式呼叫

linux下對檔案操作有兩種方式 系統呼叫 system call 和庫函式呼叫 library functions 可以參考 linux程式設計 英文原版為 beginning linux programming 作者是neil matthew和richard stones 第三章 working...