前面介紹了文件I/O的幾個基本操作,下面用一個程序把幾個函數(shù)串起來做一下練習(xí)。
假設(shè)存在一個名為input.txt的文件,需要讀取該文件的內(nèi)容,并將讀取的內(nèi)容寫入一個名為output.txt的新文件中。編寫一個C程序來讀取和寫入文件,并使用lseek()函數(shù)進(jìn)行文件定位。創(chuàng)建一個file.c文件,文件中的內(nèi)容如下:
這個示例程序完成了讀取一個名為input.txt的文件,并將內(nèi)容寫入一個名為output.txt的新文件的功能。看一下具體的實(shí)現(xiàn)過程,首先,使用open()函數(shù)打開輸入文件和輸出文件,分別使用只讀模式和寫入模式。接著,使用read()函數(shù)從輸入文件中讀取內(nèi)容,并使用lseek()函數(shù)設(shè)置文件寫的位置,write()函數(shù)將內(nèi)容寫入輸出文件。循環(huán)讀取和寫入過程會一直進(jìn)行,直到read()函數(shù)返回值等于或者小于0,表示已經(jīng)讀取完整個文件。然后,關(guān)閉輸入文件和輸出文件,并輸出成功的消息。
需要注意的是,示例程序中沒有對錯誤進(jìn)行詳細(xì)處理,為了簡化起見,并沒有添加完整的錯誤檢查代碼。在實(shí)際編程中,應(yīng)該根據(jù)具體情況添加適當(dāng)?shù)腻e誤處理代碼,以確保程序能夠正確處理可能發(fā)生的錯誤。