送源碼!C語言編程實例:一鍵清空目標文件夾|整人小程序

2021-01-09 編程高手傑瑞

不關注《一碳科技》?那麼你會錯過很多乾貨哦!

前言

今天的文章跟大家講一下,C語言中的文件操作——遍歷文件夾和刪除文件,以及如何應用這兩個技能來寫一個有趣的小程序,這篇文章涉及的知識點很少,也很簡單,所以這篇文章就當做給小白們的小教程吧,讓你們每天都能充滿激情地學習編程,擺脫學習C語言枯燥乏味的過程。

今天要教的東西很簡單,所以就別害怕自己學不會啦,在之前的作品中,經常能看到諸如「好難」、「我學不會」、「我沒天賦」等消極的留言,其實,說一句實話,C語言在所有程式語言中,是相對簡單且最強大的一門程式語言,很多時候,學會C語言就相當於學會了其他程式語言,因為語言實現相通的。

廢話就不講那麼多了,直接進入主題,上菜!

今天,我們圍繞著「遍歷文件夾」以及「刪除文件」這兩個話題,來實現我們的小程序,在今天的程序中,我們將會用到三個頭文件,分別是stdio.h、io.h、string.h,其中,io.h對於大家來說可能會有點陌生,io.h包含了許多文件操作函數,而這些函數在我們剛開始的學習中是不經常用到的。除了這三個頭文件之外,我們還會用到一個新的結構體——_finddata_t,簡單來說,這個結構體就是用來存放文件信息的,例如文件大小、屬性、名稱等信息,在下面我們會詳細講到。

第一步

從上圖可以看到,我們在整個程序中,只是構建了一個名為del()的函數,所以說,今天的文章讀起來是特別的簡單的。顧名思義,這個函數就是用來刪除某種東西的,刪除什麼呢?注意看好,刪除指定路徑下特定類型的文件。在小編寫的這個程序中,會自動遍歷F盤中的EXE類型文件,並將它們全部刪除,這個只是程序的主體,剩下功能的就靠你們自己點綴啦。

開始構建del()函數

首先創建一個存放路徑的數組way[],和一個存放文件信息的_finddata_t結構體,在這個程序裡,小編在生成可執行文件之前,就把想要刪除的「指定路徑」存入了way[]數組中,為什麼呢?因為這樣別人就看不到了呀!在這裡要注意的是格式,例如指定的路徑是F盤的根目錄,我們要這樣寫:「F:\\」,總結起來的格式是這樣的:「X:\\XX\\XX\\*.exe」。有些人可能問,這裡的「*」符號是什麼意思呢?

星號(*)其實是一個通配符,問號(?)也是一個通配符。這兩個符號有什麼作用呢?舉一個你們熟悉的例子——模糊查找。星號可以代表0個或多個字符,怎麼代表呢?請看,假如這裡用love*來表示,那麼love*這個詞,對應的詞有很多,例如:loveyou、loveme、lovelove等,為什麼呢?因為*代替了後面的字符,不管後面的字符是什麼。我們的程序中有這樣一個語句——"F:\\*.exe",這行語句的意思就是F盤根目錄下所有以.exe結尾的文件。

那麼問號(?)又怎麼解釋?「?」和「*」差不多,只不過「?」只能代表一個字符。舉個例子,在這幾個詞中:「abc」、「ahc」、「abcde」、「abcdef」,「a?c」只能代表「abc」和「ahc」,而不能代表剩下的兩個。

▲第一次查找文件

首次查找文件我們要用_findfirst(),這個函數有兩個參數,一個是查找的文件(可直接填文件路徑),一個儲存文件信息的結構體。查找文件我們直接"F:\\*.exe"代替,儲存文件信息的結構體,我們用先前聲明的_finddata_t結構體代替。

_finddata_t一共5個參數:

time_t time_create:保存從1970年1月1日0時0分0秒到現在時刻的秒數time_t time_access:文件最後一次被訪問的時間。time_t time_write:文件最後一次被修改的時間。_fsize_t size:文件的大小。char name[_MAX_FNAME]:文件的文件名。

▲用while()循環遍歷整個文件夾

在這裡,我們用while()循環遍歷了整個文件夾,並將文件名稱傳給remove()函數,這個函數是刪除指定名稱的文件(可以直接輸入路徑),刪除之後又將路徑初始化成"F:\\",重新使用_findnext()函數查找,_findnext()與_findfirst()稍有不同,_findnext()用在第一次查找,剩下的查找交給_findfirst(),程序末尾用_findclose()函數關閉文件。

如何獲取源碼?

先關注+轉發,然後注意評論區,《一碳科技》會根據關注人數和轉發數量來判斷是否公布源碼哦!

相關焦點

  • 【C語言】02.第一個C語言程序
    不過呢,開發工具屏蔽了很多操作細節和語法細節,不利於初學者直觀、系統地學習一門語言。因此,在這裡,我們暫時使用文本編輯工具UltraEdit來寫C語言代碼。 2.寫代碼1> C程序由函數構成寫代碼之前,你首先要知道:任何一個C語言程序都是由一個或者多個程序段(小程序)構成的,每個程序段都有自己的功能,我們一般稱這些程序段為「函數」。
  • 現代程式語言起點,C語言之環境搭建
    >3、C語言最適合的領域:C語言小巧靈活、語法簡單、適合做小工具嵌入式開發:命令終端中的命令小工具:命令工具作業系統:Linux(多個命令工具的組合)硬體開發:(安裝好MinGW軟體後,找到安裝文件夾下的bin目錄,默認應該是:c:\MinGW\bin將c:\MinGW\bin 、c:\MinGW\lib、c:\MinGW\include添加到系統環境變量的path的最後:過命令可彈出安裝窗口 MinGW-Installation-Manager
  • PIC單片機C語言程序實例
    編者按:為了幫助具有PIC單片機彙編語言知識的技術人員或工程師,快速掌握利用C語言編寫PIC單片機程序的方法,本刊特推出《PIC單片機C語言程序設計》系列連載文章。丈中給出的C語言程序實例,均是可執行的,讀者可以放心引用。      一、彙編語言與C語言      早期的單片機程序多採用彙編語言編寫。
  • C程序編程四步走
    預處理[2]C 預處理器是用在編譯器處理程序之前,它預掃描原始碼完成包含頭文件,宏擴展,條件編譯,行控制等功能。對於測試代碼中,預處理器只對頭文件進行了處理。獲取預處理器輸出的結果使用該命令 gcc -E hello.c -o hello.i。
  • 你所不知道的C語言經典九大編程實例思想
    獲取更多精彩文章請關注云主宰蒼穹引言:對於學習計算機程式語言而言,一門程式語言的經典思想是十分重要的。這是一門計算機程式語言的特色優點,是其解決問題的經典思維。你所了解的C語言,有哪些經典的編程實例思想,歡迎下方留言交流!
  • 嵌入式系統高級C語言編程
    內容簡介  《嵌入式系統高級C語言編程》將主要介紹針對嵌入式系統的基於C語言的軟體項目開發的流程,較為複雜的c語言編程知識和技巧,編程風格和調試習慣
  • Stata編程入門之系統文件夾
    它廣泛的應用於經濟、教育、人口、政治學、社會學、醫學、藥學、工礦、農林等學科領域,同時具有數據管理軟體、統計分析軟體、繪圖軟體、矩陣計算軟體和程序語言的特點,幾乎可以完成全部複雜的統計分析工作。其功能非常強大且操作簡單、使用靈活、易學易用、運行速度極快,在許多方面別具一格。同R和SAS類似,Stata同樣需要設定工作目錄。
  • C/C+編程筆記:C語言預處理命令是什麼?不要以為你直接寫#就行!
    C語言源文件要經過編譯、連結才能生成可執行程序: 1) 編譯(Compile)會將源文件(.c文件)轉換為目標文件。對於 VC/VS,目標文件後綴為.obj;對於GCC,目標文件後綴為.o。 編譯是針對單個源文件的,一次編譯操作只能編譯一個源文件,如果程序中有多個源文件,就需要多次編譯操作。 2) 連結(Link)是針對多個文件的,它會將編譯生成的多個目標文件以及系統中的庫、組件等合併成一個可執行程序。
  • 加速程序開發 Python整合C語言模塊
    Python是一種用於快速開發軟體的程式語言,它的語法比較簡單,易於掌握,但存在執行速度慢的問題,並且在處理某些問題時存在不足,如對計算機硬體系統的訪問,對媒體文件的訪問等。而作為軟體開發的傳統程式語言C語言,卻能在這些問題上很好地彌補Python語言的不足。
  • 單片機C語言編程心得
    寫這個8*8按鍵程序的過程中,不管是在自己寫還是參考別人程序的過程中,發現自己對C語言有些基本知識點和編程規範有很多不懂的地方,有些是自己以前的編程習慣不好,有些就是基礎知識不紮實的表現,所以總結出來。
  • 嵌入式C語言編程規範
    二:為編寫出高質量嵌入式軟體,從嵌入式軟體安全及可靠性出發,本規範對由於C語言標準、C語言本身、C編譯器及個人理解導致的潛在危險進行說明及規避。0.3 適用範圍本規範適用於XXX股份有限公司儀表臺秤產品部嵌入式軟體的開發,也對其他嵌入式軟體開發起一定的指導作用。0.4 術語定義0.4.1 規範術語原則:編程時必須堅持的指導思想。
  • 一鍵清空creo臨時文件的方法,複製過去就可以
    creo(proe)軟體每一次打開到關閉都會啟動文件夾內產生一個trail.txt.#痕跡文件,用於記錄軟體的每一步操作,當每一次順利完成繪圖,關閉軟體後,此文件的任務就已經結束,可以刪除。如果沒有刪除,隨著軟體打開次數的增加,日積月累,會產生很多痕跡文件。
  • Outlook安卓版更新:一鍵清空垃圾郵件
    該版本支持將郵件標記為垃圾郵件,並可一鍵清空垃圾郵件文件夾。以下是簡要的更新內容:支持將郵件標記為垃圾郵件,支持一鍵清空垃圾郵件文件夾;每周的常規性能改善和bug修復,改善用戶體驗。微軟為Outlook安卓端添加了包括阿姆哈拉語(衣索比亞官方語言)、馬其頓語和挪威語等在內的10種新的語言支持。想看到更多這類內容?去APP商店搜IT之家 ,天天都有小歡喜。
  • 用Python使用C語言程序(Windows平臺)
    qianyan在機器學習中,很多時候我們需要Python和C的混合編程,最重要的原因是為了性能效率的提升: 解釋型語言一般比編譯型語言慢,一般提高性能的有效做法是,先做性能測試,找出性能瓶頸部分,然後把瓶頸部分在擴展中實現。本文的目標是在windows平臺下(使用pycharm),實現python調用C語言編寫的程序。
  • 以實例跟我學C語言:如何求解一元二次方程的根
    注意:這是一篇關於C語言編程的基礎語法內容,C語言大神請繞過。例子說明對於如下的一元二次方程:設計C語言程序,輸入一元二次方程的三個係數a、b、c,求解出該方程的兩個根,並且允許用戶在程序中多次輸入不同的係數,以求解不同的一元二次方程的解。
  • C語言簡單編程速成
    例如,C 語言的特性之一是數組,但是它不提供字典(除非你自己寫一個)。當你學習 C 語言時,你會學習編程的基礎組成部分,它可以幫助你認識到如今的程式語言的改進及其的精心設計。因為 C 語言是一種最小化的程式語言,你的應用程式很可能會獲得性能上的提升,這在其它許多程式語言中是看不到的。
  • C語言編程工具選擇
    一、編程工具計算機處理的數據、接受的指令是二進位數據,用C語言編寫的程序需要轉變成計算機能識別的二進位,才能讓計算機工作,這個轉換過程就是使用編譯器對源程序進行編譯,雖然可以使用命令行的方式編譯源程序,但使用編程工具不僅可以編譯源程序,還可以編寫、調試等,可以簡化編程工作。
  • 100個C語言編程實例分析
    全面、系統地講述了C語言各個方面的知識點和程序設計的基本方法,對100個典型實例的分析和講解,以及編寫程序過程中值得注意的地方,內容深入淺出,通俗易懂
  • 想學編程?先來理解一下C語言的Helloworld程序吧
    C語言作為一門計算機科學歷史上裡程碑式的程式語言,現在依然被廣泛使用。其功能強大,內容簡單,想學習編程的小夥伴們不妨先學習一下C語言。本文將介紹一下K&R所寫的經典程序:Helloworld的簡要分析。
  • 一個小程序,包含C語言編程所有常用知識點
    1 設計目的根據C語言和數據結構知識,設計一個完整的系統,學會軟體開發的基本方法以及提高C語言編程的綜合應用能力。通過設計,把所學知識投入實踐,做到理論聯繫實際,紮實所學專業知識。2 設計題目描述和要求請設計一個公司員工信息管理系統。