




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——brcAAA操作系統(tǒng)實(shí)驗(yàn)報(bào)告學(xué)生實(shí)驗(yàn)報(bào)告
姓名:黃維津年級(jí)專業(yè)班級(jí)計(jì)科141班學(xué)號(hào)202215210137勞績(jī)
課程名稱
操作系統(tǒng)
測(cè)驗(yàn)名稱
測(cè)驗(yàn)1操作系統(tǒng)界面
1.熟諳Linux字符操作界面;
2.熟諳常用的Shell命令;
3.熟諳Linux文本編輯方法;
4.掌管利用GCC編譯器在Linux環(huán)境下編譯C程序的才能
1.Linux字符操作界面;
2.Shell操作命令;
3.VIM編輯器的使用方法;
4.Linux下的C程序開(kāi)發(fā)。
(含主要設(shè)計(jì)設(shè)備、器材、軟件等)
計(jì)算機(jī)C語(yǔ)言編程軟件redhat操作系統(tǒng)VM虛擬機(jī)
(含原理圖、流程圖、關(guān)鍵代碼,或測(cè)驗(yàn)過(guò)程中的記錄、數(shù)據(jù)等)
同時(shí)按住“Ctrl+Alt+Shift+F2”鍵進(jìn)入字符操作界面;
熟諳常用的Shell操作命令
(1)查看系統(tǒng)分區(qū)處境:fdisk-l
(2)查看當(dāng)前運(yùn)行級(jí)別:runlevel
可知,當(dāng)前運(yùn)行級(jí)別為:5
(3)將當(dāng)前運(yùn)行級(jí)別變更為3:init3
運(yùn)行后的結(jié)果如下圖:
輸入命令runlevel查看當(dāng)前運(yùn)行級(jí)別可知為3
(4)新建文件:touch文件名
這里創(chuàng)造了一個(gè)文件名為test.txt的文件
(5)刪除文件:rm要?jiǎng)h除的文件名
這里我刪除了剛新建的test.txt文件,輸入ls命令已查看不到test.txt文件了,證明已刪除告成。
(6)查看文件權(quán)限:ls-l
可知hello.c文件的權(quán)限是644
(7)更改文件權(quán)限:chmod文件權(quán)限文件名
這里將hello.c文件的權(quán)限更改為755,即rwxr-xr-x
VIM編輯器的使用方法
(1)一般模式:以vi開(kāi)啟一個(gè)文件就直接進(jìn)入一般模式了(這是默認(rèn)的模式)。
(2)編輯模式:在一般模式中可以舉行刪除、復(fù)制、粘貼等的操作,但是卻無(wú)法編輯文件的內(nèi)容,只有當(dāng)?shù)侥惆聪碌热魏我粋€(gè)字母之后才會(huì)進(jìn)入編輯模式。按下即可退出編輯模式
(3)命令行模式:輸入三個(gè)中的任何一個(gè),就可以將光標(biāo)移動(dòng)到最底下那一行。
在命令行模式下,可選用以下指令離開(kāi)vi:
:q!退出,不保存;
:wq保存退出;
Linux下的C程序開(kāi)發(fā)
(1)使用touch命令創(chuàng)造c文件hello.c;
(2)使用vihello.c命令編輯c文件:
#includestdio.h
intmain(){
printf(“hello,word”);
return0;
}
(3)按esc鍵[進(jìn)入命令模式]
(4)輸入:“:wq!”保存退出;
(5)編譯程序:gcc-ohellohello.c
(6)運(yùn)行程序:./hello
(7)運(yùn)行結(jié)果:輸出hello,word
2022年11月20日
(對(duì)測(cè)驗(yàn)結(jié)果舉行相應(yīng)分析,或總堅(jiān)固驗(yàn)的心得體會(huì),并提出測(cè)驗(yàn)的提升觀法)
在測(cè)驗(yàn)的過(guò)程中,我用的是VM虛擬機(jī)和redhat操作系統(tǒng)(linux系統(tǒng)中的一種),學(xué)會(huì)了如何在虛擬機(jī)上安裝并運(yùn)行l(wèi)inux操作系統(tǒng),也熟諳了Linux字符操作界面和常用的shell命令。雖然我一開(kāi)頭從圖形操作界面轉(zhuǎn)到命令行操作界面多少有些不適應(yīng),但隨著對(duì)命令行的熟諳應(yīng)用,察覺(jué)也沒(méi)那么難,只是命令行太多了會(huì)記不住。與此同時(shí),第一次在linux系統(tǒng)下編寫(xiě)c程序,感覺(jué)用vi對(duì)比麻煩,由于有錯(cuò)了不能調(diào)試,只是提示錯(cuò)誤。不過(guò)此次測(cè)驗(yàn)要求掌管編寫(xiě)并運(yùn)行一個(gè)簡(jiǎn)樸的c程序,我就直接輸出一句話就好了,所以不需要怎么調(diào)試了,直接用gcc編譯并運(yùn)行。在這測(cè)驗(yàn)的過(guò)程中,加深了對(duì)一些術(shù)語(yǔ)的理解,也讓我學(xué)到了新的學(xué)識(shí)。
要說(shuō)到測(cè)驗(yàn)的提升觀法,我想最大要提升的地方就是要提高虛擬機(jī)運(yùn)行的流暢度,不能在使用虛擬機(jī)中的操作系統(tǒng)時(shí)展現(xiàn)運(yùn)行卡頓等的處境,以保住測(cè)驗(yàn)的流暢舉行。
指導(dǎo)教師簽名:
20年月日
學(xué)生實(shí)驗(yàn)報(bào)告
姓名:黃維津年級(jí)專業(yè)班級(jí)計(jì)科141學(xué)號(hào)202215210137勞績(jī)
課程名稱
操作系統(tǒng)
測(cè)驗(yàn)名稱
測(cè)驗(yàn)2進(jìn)程管理
1.熟諳進(jìn)程與程序的識(shí)別,加深對(duì)進(jìn)程概念的理解;
2.了解并發(fā)進(jìn)程的執(zhí)行過(guò)程;
3.掌管解決進(jìn)程互斥使用資源的方法。
1.編寫(xiě)一段程序,實(shí)現(xiàn)進(jìn)程的管理;
2.編寫(xiě)一段程序?qū)崿F(xiàn)進(jìn)程的通信。
(含主要設(shè)計(jì)設(shè)備、器材、軟件等)
信息樓505機(jī)房
Linux環(huán)境
(含原理圖、流程圖、關(guān)鍵代碼,或測(cè)驗(yàn)過(guò)程中的記錄、數(shù)據(jù)等)
編寫(xiě)一個(gè)程序,創(chuàng)造兩個(gè)子進(jìn)程,然后分別在父、子進(jìn)程中顯示它們的進(jìn)程號(hào),以及對(duì)于的父進(jìn)程號(hào)
(1)思路:使用系統(tǒng)調(diào)用fork()創(chuàng)造兩個(gè)子進(jìn)程。當(dāng)此程序運(yùn)行時(shí),在系統(tǒng)中有一個(gè)父進(jìn)程和兩個(gè)子進(jìn)程活動(dòng)。讓每一個(gè)進(jìn)程在屏幕上顯示一個(gè)字符:父進(jìn)程顯示字符“A”,子進(jìn)程分別顯示字符“b”和“c”。
(2)程序關(guān)鍵代碼
#includestdio.h
main(){
intp1,p2;
if(p1=fork())/*子進(jìn)程創(chuàng)造告成,假設(shè)失敗fork函數(shù)會(huì)返回一個(gè)負(fù)值*/
putchar(b);
else{
if(p2=fork())/*子進(jìn)程創(chuàng)造告成,假設(shè)失敗fork函數(shù)會(huì)返回一個(gè)負(fù)值*/
putchar(c);
elseputchar(A);/*父進(jìn)程執(zhí)行*/
}
}
(3)運(yùn)行結(jié)果:Abc任意的排序
(4)結(jié)果分析:
從進(jìn)程執(zhí)行并發(fā)來(lái)看,輸出Abc的排列都是有可能的。fork()函數(shù)創(chuàng)造進(jìn)程所需的時(shí)間雖然可能多于輸出一個(gè)字符的時(shí)間,但各個(gè)進(jìn)程的時(shí)間片的獲得卻不確定是依次的,所以輸出Abc的排列都是有可能的。
寫(xiě)一個(gè)程序,實(shí)現(xiàn)父子進(jìn)程之間的通信
用管道實(shí)現(xiàn):
pipe_named_write.c
//向管道文件寫(xiě)信息
#includestdio.h
#includeunistd.h
#includesys/types.h
intmain(){
FILE*out_file;
intcount=1;
charbuf[80];
out_file=fopen(“mypipe”,”w”);
if(out_file==NULL){
printf(“Erroropeningpipe”);
exit(1);
}
sprintf(buf,”thisisthetestdataforthenamedpipeexample\n”);
fwrite(buf,1,88,out_file);
fclose(out_file);
}
pipe_named_read.c
//從管道文件讀信息
intmain(){
FILE*in_file;
intcount=1;
charbuf[80];
in_file=fopen(“mypipe”,“r”);
if(in_file==NULL){
printf(“Errorinfopen.\n”);
exit(1);
}
while((count=fread(buf,1,80,in_file))0)
printf(“receivedfrompipe:%s\n”,buf);
fclose()in_file;
}
使用FIFO實(shí)現(xiàn)進(jìn)程間的通信。用mkfifo函數(shù)創(chuàng)造管道文件my_fifo,然后從Data.txt文件中讀取數(shù)據(jù),并寫(xiě)入管道文件my_fifo中;在從管道文件my_fifo中讀取數(shù)據(jù),寫(xiě)入DataFromFIFO.txt文件中。整個(gè)過(guò)程用兩個(gè)C程序來(lái)實(shí)現(xiàn):fifowrite.c文件實(shí)現(xiàn)管道文件的創(chuàng)造,以及將Data.txt文件中的數(shù)據(jù)讀入管道文件中;fiforead.c文件實(shí)現(xiàn)從管道文件中讀取數(shù)據(jù),并寫(xiě)入DataFromFIFO.txt文件中。
fifowrite.c的源代碼如下:
#includeunistd.h
#includestdlib.h
#includefcntl.h
#includelimits.h
#includesys/types.h
#includesys/stat.h
#includestdio.h
#includestring.h
intmain()
{
constchar*fifo_name=/home/c/my_fifo;
intpipe_fd=-1;
intdata_fd=-1;
intres=0;
constintopen_mode=O_WRONLY;
intbytes_sent=0;
charbuffer[PIPE_BUF+1];
if(access(fifo_name,F_OK)==-1)
{
//管道文件不存在
//創(chuàng)造命名管道
res=mkfifo(fifo_name,0777);
if(res!=0)
{
fprintf(stderr,Couldnotcreatefifo%s\n,fifo_name);
exit(EXIT_FAILURE);
}
}
printf(Process%dopeningFIFOO_WRONLY\n,getpid());
//以只寫(xiě)阻塞方式開(kāi)啟FIFO文件,以只讀方式開(kāi)啟數(shù)據(jù)文件
pipe_fd=open(fifo_name,open_mode);
data_fd=open(Data.txt,O_RDONLY);
printf(Process%dresult%d\n,getpid(),pipe_fd);
if(pipe_fd!=-1)
{
intbytes_read=0;
//向數(shù)據(jù)文件讀取數(shù)據(jù)
bytes_read=read(data_fd,buffer,PIPE_BUF);
buffer[bytes_read]=\0;
while(bytes_read0)
{
//向FIFO文件寫(xiě)數(shù)據(jù)
res=write(pipe_fd,buffer,bytes_read);
if(res==-1)
{
fprintf(stderr,Writeerroronpipe\n);
exit(EXIT_FAILURE);
}
//累加寫(xiě)的字節(jié)數(shù),并持續(xù)讀取數(shù)據(jù)
bytes_sent+=res;
bytes_read=read(data_fd,buffer,PIPE_BUF);
buffer[bytes_read]=\0;
}
close(pipe_fd);
close(data_fd);
}
else
exit(EXIT_FAILURE);
printf(Process%dfinished\n,getpid());
exit(EXIT_SUCCESS);
}
源文件fiforead.c的代碼如下:
#includeunistd.h
#includestdlib.h
#includestdio.h
#includefcntl.h
#includesys/types.h
#includesys/stat.h
#includelimits.h
#includestring.h
intmain()
{
constchar*fifo_name=/home/c/my_fifo;
intpipe_fd=-1;
intdata_fd=-1;
intres=0;
intopen_mode=O_RDONLY;
charbuffer[PIPE_BUF+1];
intbytes_read=0;
intbytes_write=0;
//清空緩沖數(shù)組
memset(buffer,\0,sizeof(buffer));
printf(Process%dopeningFIFOO_RDONLY\n,getpid());
//以只讀阻塞方式開(kāi)啟管道文件,留神與fifowrite.c文件中的FIFO同名
pipe_fd=open(fifo_name,open_mode);
//以只寫(xiě)方式創(chuàng)造保存數(shù)據(jù)的文件
data_fd=open(DataFormFIFO.txt,O_WRONLY|O_CREAT,0644);
printf(Process%dresult%d\n,getpid(),pipe_fd);
if(pipe_fd!=-1)
{
do
{
//讀取FIFO中的數(shù)據(jù),并把它保存在文件DataFormFIFO.txt文件中
res=read(pipe_fd,buffer,PIPE_BUF);
bytes_write=write(data_fd,buffer,res);
bytes_read+=res;
}while(res0);
close(pipe_fd);
close(data_fd);
}
else
exit(EXIT_FAILURE);
printf(Process%dfinished,%dbytesread\n,getpid(),bytes_read);
exit(EXIT_SUCCESS);
}
運(yùn)行結(jié)果如下:
2022年11月26日
(對(duì)測(cè)驗(yàn)結(jié)果舉行相應(yīng)分析,或總堅(jiān)固驗(yàn)的心得體會(huì),并提出測(cè)驗(yàn)的提升觀法)
在查詢了資料后逐步懂得怎么下手完成這個(gè)測(cè)驗(yàn),在測(cè)驗(yàn)過(guò)程中逐步理解了進(jìn)程的概念,并進(jìn)一步了解了進(jìn)程的管理機(jī)制,同時(shí)也明白了什么是管道通信,怎樣加鎖和解鎖,對(duì)課本上的學(xué)識(shí)理解得更加深入了。同時(shí)也讓我熟悉到自己的缺乏,操作系統(tǒng)的有些學(xué)識(shí),我知道的還不多,沒(méi)有掌管好,還需要多多學(xué)學(xué),不斷提升自己的才能。
指導(dǎo)教師簽名:
年月日
學(xué)生實(shí)驗(yàn)報(bào)告
姓名:黃維津年級(jí)專業(yè)班級(jí)計(jì)科141學(xué)號(hào)202215210137勞績(jī)
課程名稱
操作系統(tǒng)
測(cè)驗(yàn)名稱
測(cè)驗(yàn)3存儲(chǔ)管理
1.了解虛擬存儲(chǔ)管理技術(shù)的原理與特點(diǎn);
2.掌管苦求頁(yè)式存儲(chǔ)管理的頁(yè)面設(shè)置算法。
1.編寫(xiě)一個(gè)程序模擬存儲(chǔ)管理過(guò)程。
(含主要設(shè)計(jì)設(shè)備、器材、軟件等)
計(jì)算機(jī)C語(yǔ)言編程軟件
(含原理圖、流程圖、關(guān)鍵代碼,或測(cè)驗(yàn)過(guò)程中的記錄、數(shù)據(jù)等)
頁(yè)式虛擬存儲(chǔ)管理程序模擬
(1)設(shè)計(jì)思路
根據(jù)模擬的頁(yè)式管理設(shè)計(jì),在頁(yè)式存儲(chǔ)管理中有三種最根本的頁(yè)面調(diào)度算法:最正確置換算法(OPT)、先進(jìn)先出置換算法(FIFO)、最近最久未使用置換算法(LRU),但在三種算法中均要求在調(diào)度程序中產(chǎn)生的頁(yè)面序列是隨機(jī)產(chǎn)生的,而不是人為的輸入,在執(zhí)行時(shí)只需變更頁(yè)面的大小及內(nèi)存容量就可以得到不同的頁(yè)面序列,另外還需要說(shuō)明隨機(jī)的性能和其性能可能對(duì)算法的影響,并對(duì)隨機(jī)性要有確定的參數(shù)操縱才能。此次測(cè)驗(yàn)將使用兩種方法實(shí)現(xiàn),分別是先進(jìn)先出(FIFO)頁(yè)面置換和最近最久未使用(LRU)置換。
程序流程圖
輸入內(nèi)存調(diào)配頁(yè)數(shù)
輸入內(nèi)存調(diào)配頁(yè)數(shù)
開(kāi)頭
初始化第一列值
是否有苦求訪問(wèn)頁(yè)
復(fù)制前一頁(yè)內(nèi)容
內(nèi)存是否已存在
內(nèi)存是否有空頁(yè)
直接插入
替換內(nèi)存中將來(lái)不展現(xiàn)或離當(dāng)前最遠(yuǎn)的頁(yè)
輸出全部頁(yè)面變化處境
終止
Y
Y
N
N
Y
N
(3)關(guān)鍵代碼
FIFO算法關(guān)鍵代碼
functionFIFO(){
PageList=[6210342045931205318];//初始化:
NumofPage=length(PageList);
NumofPosition=M;
SMatrix[NumofPosition][2]={-1};//將其初始化為-1
for(i=0;iNumofPage;i++){
pos=findPositionFIFO(SMatrix,PageList[i]);
if(pos==-1)continue;//在SMatrix中找到頁(yè)面已經(jīng)存在
for(j=0;jM;j++){
if(SMatrix[i][2]0)SMatrix[i][2]=SMatrix[i][2]+1;
}
SMatrix[pos][1]=PageList[i];
if(SMatrix[pos][2]==-1){SMatrix[pos][2]=1}
}
}
functionpos=findPositionFIFO(SMatrix,Pageid){
NumofPosition=length(SMatrix);
lastPeriod=SMatrix[0][2];
value=SMatrix[0][1];
for(i=0;iNumofPosition;i++){
if(SMatrix[i][1]==-1){
pos=i;
return;
}
elseif(SMatrix[i][1]==Pageid){
pos=-1;
return;
}
elseif(SMatrix[i][2]lastPeriod){
pos=i;
lastPeriod=SMatrix[i][2];
}
}
}
LRU算法關(guān)鍵代碼
functionLRU(){
PageList=[6210342045931205318];//初始化:
NumofPage=length(PageList);
NumofPosition=M;
SMatrix=array[NumofPosition][2];//將其初始化為-1
for(i=0;iNumofPage;i++){
[posisIn]=findPositionLRU(SMatrix,PageList[i]);
if(pos==-1){//在SMatrix中找到頁(yè)面已經(jīng)存在
SMatrix[i][2]=1;
continue;
}
for(j=0;jM;j++){
if(SMatrix[i][2]0)SMatrix[i][2]=SMatrix[i][2]+1;
}
SMatrix[pos][1]=PageList[i];
if(SMatrix[pos][2]==-1){SMatrix[pos][2]=1}
}
}
function[posisIn]=findPositionLRU(SMatrix,Pageid){
NumofPosition=length(SMatrix);
lastPeriod=SMatrix[0][2];
value=SMatrix[0][1];
isIn=0;
for(i=0;iNumofPosition;i++){
if(SMatrix[i][1]==-1){
pos=i;
return;
}
elseif(SMatrix[i][1]==Pageid){
pos=-1;
isIn=1;
return;
}
elseif(SMatrix[i][2]lastPeriod){
pos=i;
lastPeriod=SMatrix[i][2];
}
}
}
2022年11月26日
(對(duì)測(cè)驗(yàn)結(jié)果舉行相應(yīng)分析,或總堅(jiān)固驗(yàn)的心得體會(huì),并提出測(cè)驗(yàn)的提升觀法)
由于學(xué)識(shí)有限,只能約莫地完成這次測(cè)驗(yàn)。通過(guò)完成這個(gè)測(cè)驗(yàn),讓我反復(fù)地琢磨著課本上的學(xué)識(shí)點(diǎn),努力將其弄懂,這樣才有思路來(lái)完成測(cè)驗(yàn)。從理論到實(shí)踐可以學(xué)到好多的東西,同時(shí)也可以穩(wěn)定老師在課堂上講過(guò)的學(xué)識(shí),也學(xué)到了好多在書(shū)本上學(xué)不到的學(xué)識(shí)。通過(guò)這次測(cè)驗(yàn)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論學(xué)識(shí)是遠(yuǎn)遠(yuǎn)不夠的。
指導(dǎo)教師簽名:
20年月日
學(xué)生實(shí)驗(yàn)報(bào)告
姓名:黃維津年級(jí)專業(yè)班級(jí)計(jì)科141學(xué)號(hào)202215210137勞績(jī)
課程名稱
操作系統(tǒng)
測(cè)驗(yàn)名稱
測(cè)驗(yàn)4文件管理
1.了解文件系統(tǒng)的功能和內(nèi)部實(shí)現(xiàn);
2.熟諳文件系統(tǒng)的系統(tǒng)調(diào)用;
使用有關(guān)文件系統(tǒng)的系統(tǒng)調(diào)用create()、open()、close()、read()和write()將file1.c和file2.c合并為file3.c;
(含主要設(shè)計(jì)設(shè)備、器材、軟件等)
計(jì)算機(jī)C語(yǔ)言編程軟件
(含原理圖、流程圖、關(guān)鍵代碼,或測(cè)驗(yàn)過(guò)程中的記錄、數(shù)據(jù)等)
(1)了解函數(shù)
create()函數(shù):
功能描述:創(chuàng)造一個(gè)文件并以只寫(xiě)的方式開(kāi)啟
函數(shù)原型:intcreat(constchar*pathname,mode_tmode)
參數(shù)說(shuō)明:pathname:指向欲建立的文件路徑字符串
mode_tmode:表示新建文件的權(quán)限
返回值:告成:返回文件描述符
失?。悍祷?1
open()函數(shù):
功能描述:用于開(kāi)啟或創(chuàng)造文件,在開(kāi)啟或創(chuàng)造文件時(shí)可以指定文件的屬性及用戶的權(quán)限等各種參數(shù)。
函數(shù)原型:intopen(constchar*pathname,intflags,intperms)
參數(shù)說(shuō)明:pathname:被開(kāi)啟的文件名(可包括路徑名如dev/ttyS0)
flags:文件開(kāi)啟方式
perms:被開(kāi)啟文件的存取權(quán)限
返回值:告成:返回文件描述符
失敗:返回-1
close()函數(shù):
功能描述:用于關(guān)閉一個(gè)被開(kāi)啟的的文件
函數(shù)原型:intclose(intfd)
參數(shù)說(shuō)明:fd文件描述符
函數(shù)返回值:0告成,-1出錯(cuò)
read()函數(shù)
功能描述:從文件讀取數(shù)據(jù)
函數(shù)原型:ssize_tread(intfd,void*buf,size_tcount)
參數(shù)說(shuō)明:fd:將要讀取數(shù)據(jù)的文件描述詞
buf:指緩沖區(qū),即讀取的數(shù)據(jù)會(huì)被放到這個(gè)緩沖區(qū)中去
count:表示調(diào)用一次read操作,理應(yīng)讀多少數(shù)量的字符
返回值:返回所讀取的字節(jié)數(shù);0(讀到EOF);-1(出錯(cuò))
write()函數(shù)
功能描述:向文件寫(xiě)入數(shù)據(jù)
函數(shù)原型:ssize_twrite(intfd,void*buf,size_tcount)
返回值:寫(xiě)入文件的字節(jié)數(shù)(告成);-1(出錯(cuò))
(2)關(guān)鍵代碼
#includestdio.h
#includestdlib.h
#includestring.h
voidmain()
{
chars1filename[20],s2filename[20],dfilename[20];
FILE*s1fp,*s2fp,*dfp;
intnum=0;
/*得到第一個(gè)文件的文件名*/
printf(Pleaseinputsource1filename:\n);
gets(s1filename);
/*得到另一個(gè)文件的文件名*/
printf(Pleaseinputsource2filename:\n);
gets(s2filename);
/*得到要目標(biāo)文件的文件名*/
printf(Pleaseinputdestinationfilename:\n);
gets(dfilename);
/*輸出信息合并前的文件的內(nèi)容*/
if((s1fp=fopen(s1filename,r))==0)
{
printf(Cantopenthefile:%s\n,s1filename);
exit(0);
}
if((s2fp=fopen(s2filename,r))==0)
{
printf(Cantopenthefile:%s\n,s2filename);
exit(0);
}
if((dfp=fopen(dfilename,w+))==0)
{
printf(Cantopenorcreatethefile:%s\n,dfilename);
exit(0);
}
/*輸出信息合并前文件的內(nèi)容*/
printf(\nThetextofthefile%sbeforemerging:\n,s1filename);
OutputFile(s1fp);
printf(\nThetextofthefile%sbeforemerging:\n,s2filename);
OutputFile(s2fp);
fseek(s2fp,0L,SEEK_SET);
fseek(s1fp,0L,SEEK_SET);
/*信息合并*/
MergeFile(s1fp,s2fp,dfp,num);
/*輸出信息合并后文件的內(nèi)容*/
printf(\nThetextofthefile%saftermerging:\n,dfil
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇師范大學(xué)科文學(xué)院《醫(yī)學(xué)生職業(yè)生涯規(guī)劃與發(fā)展》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東勞動(dòng)職業(yè)技術(shù)學(xué)院《畫(huà)法幾何與透視》2023-2024學(xué)年第一學(xué)期期末試卷
- 新疆喀什地區(qū)2025年數(shù)學(xué)五下期末綜合測(cè)試試題含答案
- 內(nèi)蒙古民族大學(xué)《教育活動(dòng)設(shè)計(jì)與實(shí)施》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江省寧波市鄞州中學(xué)2025年高考英語(yǔ)試題命題比賽模擬試卷(17)含解析
- 江西省南昌市十所省重點(diǎn)2025年高三第六次診斷考試化學(xué)試題試卷含解析
- 南方醫(yī)科大學(xué)《植物纖維化學(xué)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西航空職業(yè)技術(shù)學(xué)院《敘事醫(yī)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 山西省長(zhǎng)治市上黨聯(lián)盟2024-2025學(xué)年3月高三教學(xué)測(cè)試(一)語(yǔ)文試題含解析
- 四川大學(xué)《光纖通信原理與系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 人教版二年級(jí)下冊(cè)快樂(lè)讀書(shū)吧課外閱讀測(cè)試卷
- 2023年成都市錦江區(qū)九年級(jí)二診語(yǔ)文試題(含答案)
- 婦產(chǎn)科護(hù)理學(xué) 簡(jiǎn)答題
- 感染性疾病臨床診療規(guī)范2021版
- 畢業(yè)論文工程量計(jì)算與造價(jià)控制
- 人機(jī)料安全等方面應(yīng)急措施及處理方法
- 麻醉學(xué)課件:多器官功能障礙綜合征
- 2023年中石油職稱英語(yǔ)考試通用選讀
- GB/T 24128-2018塑料塑料防霉劑的防霉效果評(píng)估
- GB/T 22864-2009毛巾
- GB/T 21403-2008噴灌設(shè)備文丘里式差壓液體添加射流器
評(píng)論
0/150
提交評(píng)論