国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【文件IO】Linux 文件操作(一) —— 遍歷指定目錄下的所有文件

這篇具有很好參考價(jià)值的文章主要介紹了【文件IO】Linux 文件操作(一) —— 遍歷指定目錄下的所有文件。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、訪問目錄相關(guān)函數(shù)

1、打開/訪問目錄 (opendir / fdopendir)

2、讀取目錄內(nèi)容 (readdir)

3、關(guān)閉目錄 (closedir)

二、遍歷指定目錄下的所有文件


一、訪問目錄相關(guān)函數(shù)

1、打開/訪問目錄 (opendir / fdopendir)

opendir / fdopendir 函數(shù)的作用是訪問指定路徑的目錄,函數(shù)聲明如下:

【文件IO】Linux 文件操作(一) —— 遍歷指定目錄下的所有文件

(1) opendir

opendir 函數(shù)是通過用戶提供的目錄路徑來訪問目錄,參數(shù)是目錄路徑,返回值是目錄指針 DIR*,是一個(gè)目錄結(jié)構(gòu)體,存放了目錄的相關(guān)信息,類似于之前文件操作里的 FILE*,用戶可以通過這個(gè)目錄指針來訪問目錄。

(2)?fdopendir

和 opendir 函數(shù)的作用一樣,不一樣的地方在于,fdopendir 函數(shù)的參數(shù)是文件描述符(需搭配open函數(shù)來使用),Linux下一切皆文件,目錄也可以看作是一個(gè)文件,也可以使用open函數(shù)來獲取其對應(yīng)的文件描述符。

2、讀取目錄內(nèi)容 (readdir)

readdir 函數(shù)的作用是讀取目錄流中的內(nèi)容。函數(shù)聲明如下:

【文件IO】Linux 文件操作(一) —— 遍歷指定目錄下的所有文件

參數(shù):opendir / fdopendir 返回的目錄指針

返回值:失敗返回NULL,成功返回一個(gè)包含目錄信息的結(jié)構(gòu)體,關(guān)于該結(jié)構(gòu)體的定義如下,需要重點(diǎn)關(guān)注的是 最后一個(gè)結(jié)構(gòu)體成員 d_name

【文件IO】Linux 文件操作(一) —— 遍歷指定目錄下的所有文件

注意:和文件指針一樣,每調(diào)用一次 readdir, 目錄指針 DIR 就會(huì)指向當(dāng)前目錄中的下一個(gè)目錄或者普通文件,當(dāng)?shù)竭_(dá)目錄尾會(huì)返回NULL。

3、關(guān)閉目錄 (closedir)

closedir 的作用是關(guān)閉一個(gè)打開的目錄,參數(shù)就是打開目錄文件時(shí)返回的目錄指針。成功返回 0,失敗返回 -1。

【文件IO】Linux 文件操作(一) —— 遍歷指定目錄下的所有文件

二、遍歷指定目錄下的所有文件

遍歷目錄的步驟主要有兩步:

  1. 使用 opendir 獲取到目錄指針
  2. 通過目錄指針同時(shí)搭配readdir函數(shù),只要返回結(jié)果不為NULL,那就繼續(xù)遍歷,直到遍歷目錄下的每一個(gè)文件 。
#include <sys/types.h>
#include <dirent.h>
#include <cstring>

int main(int argc, char** argv)
{
	DIR* dir = opendir("/home/linux/Templates");        // 打開一個(gè)目錄
	if (dir == NULL)
	{
		perror("opendir");
		return -1;
	}

	struct dirent* dnt;
	while((dnt = readdir(dir))!=NULL)            // 只要返回結(jié)果不為NULL,就一直遍歷
	{
        // 濾除 . 和 .. 
        if (!strcmp(".", dnt->d_name) || !strcmp("..", dnt->d_name))
        {
            continue;
        }
		printf("%s\n",dnt->d_name);
	}

    closedir(dir);
	return 0;
}

【文件IO】Linux 文件操作(一) —— 遍歷指定目錄下的所有文件文章來源地址http://www.zghlxwxcb.cn/news/detail-442362.html

到了這里,關(guān)于【文件IO】Linux 文件操作(一) —— 遍歷指定目錄下的所有文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • [通知]rust跟我學(xué)八:獲取指定目錄下的所有文件全路徑 已上線

    大家好,我是帶劍書生,開源庫get_local_info的作者。目前我的付費(fèi)專欄已經(jīng)上線,用于介紹在實(shí)現(xiàn)get_local_info過程中,遇到該問題所使用的解決方法,喜歡的朋友可以去訂閱了,19.9元,非常便宜的價(jià)格,做開源不容易。希望能幫助您在學(xué)習(xí)Rust時(shí),少走彎路,盡快進(jìn)入項(xiàng)目。

    2024年01月19日
    瀏覽(18)
  • Java文件操作(遍歷目錄中的文件,找到并刪除有指定關(guān)鍵字的文件)

    對于通過java對文件繼續(xù)讀取和寫入的操作推薦看讀取文件和寫入文件操作 ????????掃描指定目錄中的文件,并找到名稱中包含指定字符的所有普通文件(不包括目錄),并后續(xù)詢問用戶是否要?jiǎng)h除該文件 ? ? ? ? 實(shí)際上題目就要求我們對一個(gè)指定的目錄下的文件進(jìn)行遍歷

    2024年02月13日
    瀏覽(28)
  • 【linux】搜索所有目錄和子目錄下的包含.git的文件并刪除

    【linux】搜索所有目錄和子目錄下的包含.git的文件并刪除

    在Linux系統(tǒng)中,要搜索所有目錄和子目錄下的包含`.git`的文件,可以使用`find`命令。`find`命令允許指定路徑、表達(dá)式和操作來查找文件。 以下是使用`find`命令搜索包含`.git`的文件的方法: 1. 基本搜索: ? ?find /path/to/search -type f -name \\\"*.git*\\\" ? ?這將在指定的路徑下搜索所有擴(kuò)

    2024年03月22日
    瀏覽(26)
  • Linux筆記之刪除指定目錄下除最新修改的以 .pack 為擴(kuò)展名的文件之外的所有文件

    code review! 這段代碼是使用C++語言編寫的,它執(zhí)行了一系列命令來刪除指定目錄下的舊文件。讓我逐行解釋代碼的功能: 首先,聲明并初始化了一個(gè)名為 cmd 的 std::string 變量,用于存儲(chǔ)要執(zhí)行的命令。命令的內(nèi)容是一個(gè)字符串,它由多個(gè)子命令以管道符( | )連接而成。 接下

    2024年02月04日
    瀏覽(22)
  • 掌握終端基礎(chǔ)技巧:Linux下的文件和目錄復(fù)制操作

    掌握終端基礎(chǔ)技巧:Linux下的文件和目錄復(fù)制操作

    在Linux系統(tǒng)中,命令行終端是一個(gè)大而高效的工具,讓使用者可以通過簡單的命令完成各種任務(wù)。其中,文件和目錄的復(fù)制操作是日常使用頻率較高的一項(xiàng)操作。本文將介紹Linux下的文件和目錄復(fù)制基礎(chǔ)技巧,幫助您更好地掌握命令行終端的使用。 一、復(fù)制文件: 1.cp命令:

    2024年02月08日
    瀏覽(17)
  • Linux :: 【基礎(chǔ)指令篇 :: 文件及目錄操作:(7)】:: cp:指定文件或目錄的拷貝及指定拷貝到指定路徑(與重命名)

    前言:本篇是 Linux 基本操作篇章的內(nèi)容! 筆者使用的環(huán)境是基于騰訊云服務(wù)器:CentOS 7.6 64bit。 學(xué)習(xí)集: C++ 入門到入土!?。W(xué)習(xí)合集 Linux 從命令到網(wǎng)絡(luò)再到內(nèi)核!學(xué)習(xí)合集 目錄索引: 1. 基本語法及功能 2. 常用可選項(xiàng)說明 3. 文件基本拷貝操作 - - 3.1 指定文件拷貝到當(dāng)前

    2024年02月03日
    瀏覽(97)
  • Linux :: 【基礎(chǔ)指令篇 :: 文件及目錄操作:(4)】:: mkdir :: 創(chuàng)建目錄:指定路徑單個(gè)目錄創(chuàng)建及一次性創(chuàng)建多級(jí)目錄

    前言:本篇是 Linux 基本操作篇章的內(nèi)容! 筆者使用的環(huán)境是基于騰訊云服務(wù)器:CentOS 7.6 64bit。 學(xué)習(xí)集: C++ 入門到入土?。?!學(xué)習(xí)合集 Linux 從命令到網(wǎng)絡(luò)再到內(nèi)核!學(xué)習(xí)合集 目錄索引: 1. 基本語法及功能 2. 基本使用示例 - - 2.1 當(dāng)前目錄下創(chuàng)建指定新目錄 - - 2.2 指定目錄下

    2024年02月06日
    瀏覽(24)
  • python 解壓指定目錄的所有zip文件

    ========================================================== 修改了一下!??!遞歸所有文件夾里面的zip 附件為,打包好的exe,可以直接執(zhí)行。(https://download.csdn.net/download/li13148023/88492399)

    2024年02月06日
    瀏覽(26)
  • 【Python】獲取指定目錄下的文件夾和文件

    【Python】獲取指定目錄下的文件夾和文件

    我們經(jīng)常會(huì)有對文件做批量處理的需求,獲取指定目錄下的文件夾和文件(有時(shí)需要獲取所有文件,即子目錄下的文件也需要獲?。?。Python 中掃描目錄有兩種方法: os.listdir() os.walk() 建立項(xiàng)目框架如下: 其中, test:項(xiàng)目文件夾名稱,含有 aa子文件夾 和 main.py aa:文件夾,含

    2024年02月17日
    瀏覽(101)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包