代碼解法不唯一,請在評論區留下你的實現方式和想法,我會將好的解法更新到文章中!!
要在C語言中判斷文件夾下的文件夾是否存在,如果存在就清空,如果不存在則建立,需要使用C標準庫中的系統調用或者POSIX標準庫中的函數。下面是一個使用POSIX標準庫中的函數實現該功能的示例代碼:
#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <unistd.h>#define TEMP_FOLDER_PATH "youpath/temp"int main() {struct stat st;if (stat(TEMP_FOLDER_PATH, &st) == 0) {if (S_ISDIR(st.st_mode)) { // 判斷是否為目錄printf("temp文件夾存在,清空temp文件夾\n");// 清空temp文件夾char rm_command[256];sprintf(rm_command, "rm -rf %s/*", TEMP_FOLDER_PATH);system(rm_command);}} else {printf("temp文件夾不存在,創建temp文件夾\n");// 創建temp文件夾mkdir(TEMP_FOLDER_PATH, 0700); // 創建目錄,設置權限為0700}return 0;
}
這段代碼首先使用stat
函數檢查目標文件夾是否存在,并獲取其狀態。然后,根據目標文件夾的存在與否以及其類型(是否為目錄),執行相應的操作。如果目標文件夾存在且為目錄,則清空文件夾;如果目標文件夾不存在,則創建該文件夾。
這段代碼使用了POSIX標準庫中的stat
和mkdir
函數來執行文件夾的檢查、清空和創建操作。另外,為了清空文件夾,還使用了system
函數來執行系統命令rm -rf
。