我試圖創建一個函數來掃描我的Windows PC上的一個文件夾,並且每次它執行時,一個名爲「Filter.txt」的文件附加了字符串「Test Script」 。掃描一個目錄並修改文件c
現在的問題是2,首先是掃描必須在目錄c:\ LOG或其子目錄中執行,其次是我不知道如何鏈接目錄中的fopen
和名稱的文件。
int main(){
DIR *dir;
FILE * pFile;
char myString[100];
struct dirent *ent;
dir = opendir ("c:\\LOG");
if (dir != NULL) {
/* print all the files and directories */
while ((ent = readdir (dir)) != NULL) {
pFile = fopen ("Filter.txt","a");
if (pFile==NULL)
perror("Error");
else
fprintf(pFile,"%s\n","Test scriptIno");
fclose(pFile);
//printf ("%s\n", ent->d_name);
}
closedir (dir);
} else {
/* Can not open directory */
perror ("");
return EXIT_FAILURE;
}
}
您不應該將C用於這樣的任務。更好地觀察像Perl這樣的腳本語言。每種語言/技術都是爲某種目的而開發的。 C被開發用來製作操作系統,而不是做腳本。如果您有興趣,我可以在Perl中向您展示一個示例。 – m0skit0
@ m0skit0:在K&R中,他們將C描述爲「通用語言」。我沒有找到像「僅用於開發操作系統」這樣的聲明。 –
@undur_gongor:那是在1972年。現在你不想用C編寫這樣的腳本。這只是一個浪費時間,除非你想要真正學會C.這就是說,C可能是我最喜歡的語言,但是人們必須知道什麼時候該用什麼。 – m0skit0