《linux操作系統文件復制操作》由會員分享,可在線閱讀,更多相關《linux操作系統文件復制操作(5頁珍藏版)》請在人人文庫網上搜索。
1、網絡操作系統”課程實驗報告名:號:業:計算機科學與技術間:2012年5月 日師:北京聯合大學-信息學院編制Linux-文件的系統調用1.實驗目的熟悉有關文件的系統調用,學習文件系統的系統調用命令,提高對文件系統實現功能的理解和掌握。使用fopen、fread、fwrite 等系統調用用 C語言編程實現復制文件。2.實驗過程在stu2文件夾里建立hello.c在hello.c文件里編輯源代碼。 在桌面右擊打開終端,返回到 編譯c文件gcc -o hello.out hello.c運行文件:stu根目錄./ hello.out3.實驗步驟及分析4表示從 in1024個字符到1. 事先在stu2文件。
2、夾中建立一個文件hxh.txt,打開并輸入Im huxihua n! ! !2. 在hello.c文件中輸入:#i nclude Int mai n()int len;char *buffer1024;FILE *in,*out;/定義兩個文件流,分別用于文件的讀取和寫入if (in=fopen( /bome/stu2/hxh.txt ”,”)=NULL)/ 打開源文件的文件流,其意義是在 當前目錄home/stu2/下打開文件hxh.txt,只允許進行 讀操作,并使in指向該文件pnntf( the hxh.txt can openn);0表示程序正exit(0);/exit(0)作用是關閉。
3、所有打開的文件,并終止程序的執行。參數 常結束,非0參數通常表示不正常的程序結束。if(out=fopen( /bome/stu2/hxh1.txt ”,w )=NULL)/ 打開目標文件的文件流,其意義out指向該文是在當前目錄home/stu2/下打開文件hxh1.txt,只允許進行寫”操作,并使件pnntf( the file hxh1.txt can topenn);exit(0);while(le n=fread(buffer,1,1024,i n)0)/所指的文件中,每次讀1個字節送入字符組buffer中。第二個參數也可寫成sizeof(char)源文件中讀取數據并放到緩沖區中,b。
4、uffer中,連續讀1024次,即讀fwrite(buffer,1,len,out);/將緩沖區的數據寫到目標文件中,表示從buffer的地址開始的內存單元按照1個字節的大小取一個數據塊,寫入out指向的文件中fclose(out);關閉文件的寫入流fclose(in);關閉文件的讀取流return 0;4.注釋(1) 函數功能:用來打開一個文件,一般調用形式:文件指針名=fopen (文件名,使用文件方式);說明:文件指針名”必須是被說明為FILE類型的指針變量;文件名”是被打開文件的文件名;使用文件方式”是指文件的類型和操作要求。“文件名”是字符串常量或字符串數組。(2) 函數功能:用來讀。
5、寫一個數據塊。一般調用形式:fread(buffer,size,co un t,fp);fwrite(buffer,size,co un t,fp);說明:buffer :是一個指針,對fread來說,它是讀入數據的存放地址。對fwrite來說,是要輸出數據的地址。size :要讀寫的字節數;COU nt:要進行讀寫多少個size字節的數據項;fp:文件型指針。注意:1.完成次寫操(fwriteO)作后必須關閉流(fcloseO);2.完成一次讀操作(freadO)后,如果沒有關閉流(fclose(),則指針(FILE * fp)自動向后移 動前一次讀寫的長度,不關閉流繼續下一次讀操作則接著上。
6、次的輸出繼續輸出。(3 )函數功能:關閉一個流一般調用形式:int fclose(FILE *stream);。注意:使用fclose()函數就可以把緩沖區內最后剩余的數據輸出到磁盤文件中,并釋放 文件指針和有關的緩沖區。(4)函數功能:關閉所有文件,終止正在執行的程序一般調用形式:void exit(int status);所在頭文件:stdlib.h說明:exit(1)表示異常退出.這個1是返回給操作系統的不過在DOS好像不需要這個返回值exit(x) ( x不為0 )都表示異常退出exit(O)表示正常退出參數:status 程序退出的返回值.5.實驗結果(1)編譯、運行:MmMIou 1 host *1$ gcc p ho t logout ho 1 lo, c T/hollmma.總拙、UHhxhl.rxt dir(2)結果凸tehJ*1 卩Ml 屮 him a5.實驗小結經過此次的實驗,實現了如何在Li nux操作系統中如何使用文件的調用,鞏固了文件系統調用的函數和參數的各代表的意義。