1. MFC中 創建文件夾的方法如下:
CString strFolderPath = "./Output"; //判斷路徑是否存在 if(!PathIsDirectory(strFolderPath)) { CString strMsg; strMsg.Format(_T("指定路徑\"%s\"不存在,是否創建?"),strFolderPath); if(AfxMessageBox(strMsg,MB_YESNO) == IDYES) { //判斷文件夾是否創建成功 if(!CreateDirectory(strFolderPath,NULL)) { strMsg.Format(_T("創建路徑\"%s\"失敗!是否繼續?"),strFolderPath); if(AfxMessageBox(strMsg,MB_YESNO)==IDYES) return; } else { MessageBox(_T("創建成功。"),_T("提示")); } } }
BOOL CreateDirectory(LPCTSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
第一個參數值為文件夾名稱,第二個參數值為安全屬性,一般設置為NULL即可。如果正確創建,返回值為1,如果沒有正常創建文件夾,則返回0。
特別的:該函數每次調用時都只能創建一級文件夾,即文件夾中不能再包含子文件夾。
當希望創建含有子文件夾的文件夾時,可以先使用該函數創建一級文件夾,然后再使用該函數在一級文件夾下創建子文件夾。如:
希望創建:d:\\TEST\\temp,
則:CString str = “d:\\TEST”;
CreateDirectory(str, NULL);
str = str + “\\temp”;
CreateDirectory(str, NULL);
2. C++中 判斷文件是否為空的方法如下:
//寫入excel文件 FILE *factor = NULL; factor = fopen(strFolderPath + "/factor.csv", "a"); //移動指針到文件末尾 fseek( factor, 0, SEEK_END ); //判斷文件是否為空 if(ftell(factor) == 0) { fprintf(factor, "序號,算法名稱\n"); } fprintf(factor, "%s,%s\n", str, S1); fclose(factor); factor = NULL;