c/c++ mfc創建目錄,獲取運行目錄

百度了半天,沒找到實用的,看來還是得多寫寫。

 

c/c++與mfc不同,創建目錄也不一樣,剛開始還以爲能通用,直接把c的代碼拷過去發現用不了。

FILE *fp = NULL;
fp = fopen(“d:\\fuck", "rw");
if(NULL == fp){
    if(_mkdir(sFileName) == 0 ){
	//return 1;
    }else{
	//return 0;
     }
}else{
    fclose(fp);
    //return 1;
}

 

mfc:

bool ExtractFilePath(CString &sFileName)
{
	if(!PathFileExists(sFileName.GetBuffer()))
		if(!CreateDirectory(sFileName.GetBuffer(), NULL))
			return FALSE;
	return TRUE;
}

 

獲取運行目錄:

bool GetFilePathA(char *sFileName)
{
	if(!sFileName) return FALSE;
	memset(sFileName, 0, sizeof(sFileName));
	GetModuleFileNameA(NULL, sFileName, sizeof(sFileName));
	int i = strlen(sFileName);
	for(int j = strlen(sFileName); sFileName[j] != '\\'; j--)
		sFileName[j] = 0;
	return TRUE;
}

bool GetFilePath(CString & sFileName)
{
	GetModuleFileName(NULL, sFileName.GetBufferSetLength(MAX_PATH+1), MAX_PATH);
	sFileName.ReleaseBuffer();
	int nPos = sFileName.ReverseFind('\\');
	sFileName = sFileName.Left(nPos); 
	return TRUE;
}




 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章