C C 讀取檔名(Ubuntu)

2021-09-25 08:37:34 字數 1427 閱讀 2675

**:

最近,在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...