檔案程式設計裡如何程式設計自己的CP指令

2021-10-06 14:04:06 字數 1690 閱讀 4600

1)我們得開啟原始檔

2)將原始檔讀入到我們設定的引數上,如readbuf

3) 開啟目的檔案

4)將原始檔讀取的內容readbuf寫入到目的檔案

5)關閉原始檔和目的檔案

main 函式中我們需要設定引數,來傳入我們複製的原始檔和目的檔案

int

main

(int argc,

char

**ar**)

例如我們編譯完以後,可以敲入命令**./a.out demo1.c demo2.c**

其中./a,out 是執行程式,demo1.c是原始檔,就是我們要複製的檔案,demo2.c是我們要複製內容到的目的檔案,類似於cp demo1.c demo2.c

1 #include 

2 #include

3 #include

4 #include

5 #include

6 #include

7 #include 89

intmain

(int argc,

char

**ar**)

1019 fdsrc =

open

(ar**[1]

,o_rdwr);20

int size =

lseek

(fdsrc,0,

seek_end);

21 lseek (fdsrc,0,

seek_set);

22 readbuf =

(char*)

malloc

(sizeof

(char*)

*size+8)

;23int n_read =

read

(fdsrc,readbuf,size)

;24 fddes =

open

(ar**[2]

,o_rdwr|o_creat|o_trunc,

0600);

25int n_write =

write

(fddes,readbuf,size);26

close

(fdsrc);27

close

(fddes);28

return0;

29}~~

其中要注意的是,我們計算多少個位元組用了游標的移動,移動到了最後,要重新將游標回到開頭,才能正確的將內容複製。

int size =

lseek

(fdsrc,0,

seek_end);

lseek (fdsrc,0,

seek_set

)

還有我們開啟目的檔案時候,判斷是否存在這個檔案,不存在要建立檔案,存在的話要將原檔案的東西全覆蓋,要加入o_trunc這條指令,不然在原始檔位元組比較少的時候,會存在原始檔的內容輸入進去了,但是內容後面還是會儲存該檔案原本的內容。

fddes =

open

(ar**[2]

,o_rdwr|o_creat|o_trunc,

0600

);

就是這條指令裡要新增。

完畢!

程式設計工具 如何管理自己的程式設計環境

unix下有很多經典的工具,編輯器有vim emacs等,shell有bash zsh等,版本控制有git,終端復用工具有tmux 這些工具有個普遍的特徵,那就是高度的可配置性,可以根據自己的喜好以及習慣進行不同的配置,就拿vim來說,我周圍使用vim的人都將vim配置的各不相同,可以說十個人就有十...

Hadoop裡如何Mysql程式設計

mysql資料庫讀寫 hadoop技術推出一度曾遭到關聯式資料庫研究者的挑釁和批評,認為mapreduce不具有關聯式資料庫中的結構化資料儲存和處理能力。為此,hadoop社群和研究人員做了多的努力,在hadoop0.19版支援mapreduce訪問關聯式資料庫,如 mysql mongodb po...

如何提高自己的程式設計水平

不知不覺做軟體已經做了十年,有成功的喜悅,也有失敗的痛苦,但總不敢稱自己是高手,因為和我心目中真正的高手們比起來,還差的太遠。世界上並沒有成為高手的捷徑,但一些基本原則是可以遵循的。1.紮實的基礎。資料結構 離散數學 編譯原理,這些是所有電腦科學的基礎,如果不掌握他們,很難寫出高水平的程式。據我的觀...