2012-05-21 159 views
0

目前我試圖找到一種方法來搜索特定目錄中的文件(的/ dev/shm的在這種情況下,需要爲這部分沒有外卡),適合在一個目錄下的文件包括外卡,模式可以說比如我有一個具有我如何搜索使用通配符

stack_review.txt stack_overflow.txt stack_servers.txt 

一個目錄,我想返回匹配這個模式棧_ * .txt的所有結果,我又怎麼會得到這樣做這個?香港專業教育學院嘗試了幾個例子使用READDIR但遺憾的是沒有發現任何東西,爲了這個尚未實現正常工作,所以我真的很感謝所有幫助我能解決這個問題搞定了,謝謝!

+0

你打算使用shell匹配模式,正則表達式或(的「grep」)模式?它們是有區別的。 –

+0

這是你在找什麼:http://linux.die.net/man/3/glob?或者你想跨平臺(我不這麼認爲)。 – nhahtdh

+0

http://stackoverflow.com/a/10678765/643500 –

回答

3

您正在尋找​​3210。從http://linux.die.net/man/3/glob

一種用途的例子是下面的代碼,它模擬在shell中鍵入ls -l *.c ../*.c

glob_t globbuf; 

globbuf.gl_offs = 2; 
glob("*.c", GLOB_DOOFFS, NULL, &globbuf); 
glob("../*.c", GLOB_DOOFFS | GLOB_APPEND, NULL, &globbuf); 
globbuf.gl_pathv[0] = "ls"; 
globbuf.gl_pathv[1] = "-l"; 
execvp("ls", &globbuf.gl_pathv[0]); 
+1

+1,但千萬記住,' glob'不是標準C,所以在所有平臺(特別是Windows)上都不可用。不過,它是POSIX,所以它非常普遍。 –

+0

好的謝謝你的幫助:) – lacrosse1991

0

是否有可能被嵌套在文件夾中的元素?如果是這樣,你的方法必須是遞歸的。