• 歡迎訪問奇跡の海網站,本站不上傳任何資源,所有資源均來自于網絡,歡迎加入奇跡の海~!奇跡の海-WordPress QQ群
  • 本站下載資源為網絡上收集整理而來,并且以計算機技術研究交流為目的,版權歸原作者所有,僅供大家參考,學習,不存在任何商業目的與商業用途.
  • 本站系統鏡像均來自于官方原版,ed2k可視為P2P下載鏈接。所有操作系統默認均為試用版,如有正版密鑰可以有效激活,本站不提供任何激活和相關服務。

main函數參數和文件復制命令

匯編語言 奇跡の海 1年前 (2018-07-08) 633次瀏覽 已收錄 0個評論 掃描二維碼

一、main函數的參數

想要實現一個復制命令,也就是我們通常所說的拷貝命令cp,這個cp命令通常有兩個參數,一個是源文件目錄,另一個是目標文件目錄。例如:

cp /data/temp/a /data/mnt/b

這樣就是將在目錄/data/temp/目錄下的文件a復制到/data/mnt/目錄下的文件b。我們的目標就是要實現這樣的一個cp命令。并編寫一個叫作cp.c的源代碼文件,我們知道,編寫程序中要實現一個main函數,而這個main函數的參數表我們就在這里學習

int main(int argc, char *argv)

這是main函數的定義,它具有兩個參數,int argc表示調用程序主函數時傳入的參數個數,而char *argv這個指針數組表示參數的內容。我們可以通過一個簡單的例子來具體看看main函數的參數:

main函數參數和文件復制命令

對以上程序編譯并執行下面命令

運行結果如下:

./cpaaabbbcccddd

我們可以清楚的看到這個執行過程中main函數的參數argc中存放了接收到的參數個數即5,而argv中存放了所有的參數內容。

main函數參數和文件復制命令

二、實現復制命令

結合main函數的參數表功能及上兩節中我們學習到文件讀寫的相關知識,我們就可以自己實現一個文件復制的程序。程序的實現方式很簡單:

1.通過main函數的參數接收需要復制的源文件目錄和目標目錄。

2.打開源文件和目標文件。

3.從源文件中讀取內容,并將這些內容寫入到源文件中

4.關閉目標文件。

接下來我們就來動手實現這個文件復制的程序:

main函數參數和文件復制命令

程序運行測試:

./cp /data/temp/a /data/temp/b

請注意,在對main函數參數處理時還可以使用getopt系統接口函數來實現;另外,這個cp命令只能復制普通文件,而不能復制文件夾,想要復制文件夾可以使用opendir等系統調用來實現,準確的來說,這些內容是系統調用接口函數而不是標準c語言函數庫,我們不再贅述,請有興趣的讀者自己查閱相關資料并實現文件夾的復制功能。


版權聲明:本站所有文章和資源使用CC BY-NC-SA 4.0協議授權發布 , 轉載應當以相同方式注明文章來自“SeaOMC.COM->main函數參數和文件復制命令!在下邊可以分享本文哦!
喜歡 (0)
[]
分享 (0)
奇跡の海
關于作者:
一個WordPress菜鳥!
發表我的評論
取消評論

表情 貼圖 加粗 刪除線 居中 斜體 簽到

Hi,您需要填寫昵稱和郵箱!

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址
中国福利彩票36选7开奖结果