第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

想了解一下,在C/C++中的readdir遍歷目錄中的子目錄的問題?

想了解一下,在C/C++中的readdir遍歷目錄中的子目錄的問題?

哆啦的時光機(jī) 2021-06-22 18:14:24
void listDir(char *dirpath){DIR *dir = opendir((const char*)dirpath);if(dir == NULL){printf("open the log directory <%s> failure\n",dirpath);return ;}struct dirent *dirp = NULL;while((dirp = readdir(dir)) != NULL){if(dirp->d_type & DT_DIR){printf("dirpath = %s\n",dirpath);if(dirp->d_name == NULL || dirp->d_name[0] == '.' || strcmp(dirp->d_name,"..") == 0)continue;sprintf(m_chTempPath,"%s%s/",dirpath,dirp->d_name);listDir(m_chTempPath);}else if(dirp->d_type & DT_REG){sprintf(m_chTemp,"%s%s",m_chTempPath,dirp->d_name);printf("m_chTemp = %s\n",m_chTemp);} elsecontinue;}closedir(dir);}代碼如上,目錄結(jié)構(gòu)如下:/root/shanghai/jingan/xiaoming.txt /root/nanjing/xuanwu/tom.txt/root/shanghai/changning/xiaohong.txt /root/nanjing/hexi/jack.txt/root/shanghai/putuoxiaoli.txt /root/nanjing/baixia/may.txt當(dāng)我執(zhí)行程序時,讀目錄結(jié)構(gòu)會出錯,比如會讀成 /root/shanghai/jingan/changning,而jingan和changning是并列的兩個目錄,這種錯誤該怎么改,急等大大們在線幫解決
查看完整描述

2 回答

?
慕斯709654

TA貢獻(xiàn)1840條經(jīng)驗 獲得超5個贊

這個要正對不同的操作系統(tǒng),不同的操作系統(tǒng),文件節(jié)點的存放方式不一樣,讀取的方式就不一樣了。
可以利用for循環(huán),像Linux dir=opendir (dirname)打開文件夾,返回目錄指針,dp=readdir(dir)利用讀目錄,返回一行行讀取目錄的文件結(jié)構(gòu)體指針,指針中存的有文件屬性,是文件,還是文件夾。
通過判斷是文件或者文件夾:
如果是文件,就就輸出文件名dp->name
否則,就是一個文件夾 繼續(xù)dir1=opendir(dp->name),dp1=readdir(dir1)..
一直循環(huán)到判斷不到目錄了。
windows應(yīng)該也有類似的函數(shù)吧,這個我就么有用過了,你找找。

查看完整回答
反對 回復(fù) 2021-06-27
?
慕沐林林

TA貢獻(xiàn)2016條經(jīng)驗 獲得超9個贊


           else if(dirp->d_type & DT_REG)           {                sprintf(m_chTemp,"%s%s",dirpath,dirp->d_name); //----                printf("m_chTemp = %s\n",m_chTemp);           }


查看完整回答
反對 回復(fù) 2021-06-27
  • 2 回答
  • 0 關(guān)注
  • 393 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號