對文件系統操作有疑問:在執行我們的程序的其他目錄中打開一個文件。假設我們在以下目錄中執行我們的程序:/ home/example,我們希望程序轉到另一個目錄,比如:home/example/Inside/Test,並打開最後一個目錄中的所有txt文件。C打開一個文件在不同的目錄中閱讀
確定這樣一個小代碼:
/*variables*/
struct dirent *strdir;
DIR *diro;
struct stat statbuffer;
char *path = /home/example/Inside/test
diro = opendir(path)
/*cheked it opened properly*/
while ((strdir = readdir(diro)) != NULL){
stat(strdir->d_name, &statbuffer); /*Gets information of file*/
if (S_ISREG(statbuffer.st_mode)){
/*its regular type*/
/*check its of type txt*/
???
我把???
因爲我用的fopen,它不工作。當然不會,因爲該文件不存在於/ home/example中。同樣適用於開放。
所以我吼聲,也許我可以連接的目錄和文件名到一個單一的字符,以獲得完整的路徑,但聽起來有點難看......
另一個想法是利用所給的信息統計數據給我,但我似乎無法弄清楚如何使它工作。硬鏈接?
安置自己的實際代碼,請,而不是你先製作或改變的東西。如果出於安全原因必須更改,請更改必要的最小值。發佈虛假代碼就像去你的汽車修理店一樣,並說「我的汽車有什麼問題?我沒有帶它,但它看起來有點像停在那裏的那個,它製造的有趣的聲音有點像一輛剛剛開過的那輛車。「 –