**:
最近,在ubuntu系統上需要使用c來獲取指定資料夾下的檔名,發現不同使用windows系統上的方法。
本文即在ubuntu系統上實現獲取檔名的功能。
windows系統方法點這裡。
先給出**,如下:
//標頭檔案
#include
#include
#include
#include
#include
using
namespace
std;
void
getfilenames
(string path,vector
& filenames)
closedir(pdir);
}int
main
()
return
0;
}
獲取檔名的基本流程為開啟資料夾、讀取檔名和關閉資料夾,分別使用函式opendir()、readdir()以及closedir()實現。
1、標頭檔案
所依賴的標頭檔案分別為#include和#include
2、opendir()、readdir()和closedir()
要讀取資料夾下的檔名,首先需要開啟目錄,opendir()函式原型:
dir *opendir
(const
char *pathname)
;
成功開啟會返回dir型別的指標,失敗返回null。
讀取檔案資訊,使用readdir()函式:
struct dirent *readdir
(dir *pdir)
;
函式返回值是dirent結構體指標,當到達目錄末尾或者出錯時返回null。
pdir為呼叫opendir()時返回的值。下面看以下dirent結構體。
dirent結構體被定義在了#include標頭檔案中,用來儲存檔案資訊,定義如下:
struct
dirent
;
d_name欄位表示檔名。
d_type欄位表示檔案型別,取值定義如下:
enum
;
最後,使用closedir()關閉被開啟的目錄:
int
closedir
(dir *pdir)
;
pdir為呼叫opendir()的返回值,成功關閉返回0,否則返回-1。
ubuntu檔名亂碼
地化問題對我這種菜鳥來說就等於解決各種各樣的亂碼,而檔名亂碼是最惹人眼煩的。本著自己以後方面查,大家來拍磚的想法,現在小結一些 一 gbk亂碼 參考 亂碼的樣子類似 解決方法 1.使用convmv 把亂碼檔名檔案複製在乙個空目錄裡執行 這樣錯了也不怕 convmv r f utf8 t iso885...
問題 C C 提取檔名
假設有乙個字串包含了檔名 副檔名和路徑,如strfilename d c 程式設計 實驗3 myfile.txt 請使用c 編寫乙個靜態方法,該方法能夠取出路徑中的檔名 myfile.txt 乙個包含了檔名,副檔名和路徑的字串。字串中的檔名。input copy strfilename d c 程式...
C C 除錯 檔名 行號 變數名
include define debug info x std cout file line std string str debuf info str 當前源 函式名 function當前源 行號 line當前源 檔名 file s n file 當前編譯日期 注意和當前系統日期區別開來 date...