亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fs.cpp.svn-base

?? wince c++ 下 開發的 rss 閱讀器源代碼
?? SVN-BASE
字號:
/** *  fs.cpp * *  Copyright (C) 2008  David Andrs <pda@jasnapaka.com> * *  This program is free software: you can redistribute it and/or modify *  it under the terms of the GNU General Public License as published by *  the Free Software Foundation, either version 2 of the License, or *  (at your option) any later version. * *  This program is distributed in the hope that it will be useful, *  but WITHOUT ANY WARRANTY; without even the implied warranty of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *  GNU General Public License for more details. * *  You should have received a copy of the GNU General Public License *  along with this program.  If not, see <http://www.gnu.org/licenses/>. * */#include <afx.h>#include "fs.h"//// Creates path for file 'fileNamePath'//BOOL CreatePath(const CString &fileNamePath) {	// remove file name	int slashPos = fileNamePath.ReverseFind('\\');	CString strPath = fileNamePath.Left(slashPos + 1);	// create path	int start = 0;	int pos = strPath.Find('\\', start);	while (pos != -1) {		if (start != -1) {			CString strDirName = strPath.Left(pos);			CreateDirectory(strDirName, NULL);		}		start = pos + 1;		pos = strPath.Find('\\', start);	}	return TRUE;}BOOL FileExists(const CString &strFileName) {	HANDLE file = CreateFile(strFileName, 0, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);	if (file == INVALID_HANDLE_VALUE) {		return FALSE;	}	else {		CloseHandle(file);		return TRUE;	}}BOOL DirectoryExists(const CString &strDirName) {	DWORD attrs = GetFileAttributes(strDirName);	if (attrs == 0xFFFFFFFF)		return FALSE;	else if ((attrs & FILE_ATTRIBUTE_DIRECTORY) != 0)		return TRUE;	else		return FALSE;}BOOL GetFileTime(LPCTSTR fileName, FILETIME *ft) {	HANDLE hFile = CreateFile(fileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);	if (hFile != INVALID_HANDLE_VALUE) {		BOOL ret = GetFileTime(hFile, NULL, NULL, ft);		CloseHandle(hFile);		return ret;	}	else		return FALSE;}BOOL IsFileChanged(LPCTSTR fileName, FILETIME *ft) {	if (ft == NULL)		return FALSE;	BOOL change = FALSE;	FILETIME lastWrite;	if (GetFileTime(fileName, &lastWrite)) {		if (CompareFileTime(ft, &lastWrite) != 0) {			*ft = lastWrite;			change = TRUE;		}	}	else {		if (ft->dwLowDateTime == 0 && ft->dwHighDateTime == 0)			change = FALSE;		else {			change = TRUE;			memset(ft, 0, sizeof(FILETIME));		}	}	return change;}//// Removes empty directories traversing from 'rootPath' deep in the structure// 'rootPath' is not deleted//void RemoveDirectories(const CString &rootPath) {	CString path;	path.Format(_T("%s\\*.*"), rootPath);	WIN32_FIND_DATA fd;	HANDLE hFind = FindFirstFile(path, &fd);	if (hFind != INVALID_HANDLE_VALUE) {		do {			if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {				CString fileNamePath;				fileNamePath.Format(_T("%s\\%s"), rootPath, CString(fd.cFileName));				// remove the content of directory				RemoveDirectories(fileNamePath);				// remove the directory itself				RemoveDirectory(fileNamePath);			}		} while (FindNextFile(hFind, &fd));		FindClose(hFind);	}}void ScanDirForFiles(const CString &dir, const CString &mask, CList<CFileData *, CFileData *> &list) {	CString path;	path.Format(_T("%s\\*.*"), dir);	WIN32_FIND_DATA fd;	HANDLE hFind = FindFirstFile(path, &fd);	if (hFind != INVALID_HANDLE_VALUE) {		do {			CString fileNamePath;			fileNamePath.Format(_T("%s\\%s"), dir, CString(fd.cFileName));			if (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {				ScanDirForFiles(fileNamePath, mask, list);			}			else {				list.AddTail(new CFileData(fileNamePath, fd.nFileSizeLow));			}		} while (FindNextFile(hFind, &fd));		FindClose(hFind);	}}BOOL RemoveLastPathPart(CString &strPath) {	int slashPos = strPath.ReverseFind('\\');	if (slashPos != -1) {		strPath = strPath.Left(slashPos);		return TRUE;	}	else		return FALSE;}
void RemoveEmptyDirs(const CString &fileName, const CString &rootDir) {
	// remove empty dirs, if there are some
	CString strFileName = fileName;

	RemoveLastPathPart(strFileName);
	while (strFileName.GetLength() > 0 && strFileName.CompareNoCase(rootDir) != 0) {
		if (RemoveDirectory(strFileName)) RemoveLastPathPart(strFileName);
		else break;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
性做久久久久久久免费看| 亚洲欧洲日韩一区二区三区| 色婷婷精品久久二区二区蜜臂av| 国产成人精品影视| 国产精品综合二区| 高清免费成人av| 不卡视频一二三四| 91色综合久久久久婷婷| 99re8在线精品视频免费播放| 国产成人av资源| av午夜一区麻豆| 不卡高清视频专区| 欧美性受极品xxxx喷水| 欧美日韩在线免费视频| 欧美一级日韩不卡播放免费| 日韩美女一区二区三区四区| 久久久国产午夜精品| 国产日韩一级二级三级| 亚洲婷婷综合色高清在线| 亚洲自拍偷拍图区| 激情久久久久久久久久久久久久久久| 韩国av一区二区三区| 国产999精品久久久久久| 成av人片一区二区| 欧美日韩一区二区三区不卡| 日韩一区二区精品在线观看| 欧美成人一区二区三区| 久久精品视频在线看| 亚洲少妇屁股交4| 午夜精品成人在线视频| 国产精品456| 欧美影视一区在线| 久久老女人爱爱| 亚洲最大成人综合| 久久精品国产精品亚洲综合| 99久久99久久精品免费看蜜桃| 欧美午夜视频网站| 欧美精品一区二区蜜臀亚洲| 国产精品乱码一区二三区小蝌蚪| 婷婷综合久久一区二区三区| 国产美女视频91| 欧美三级在线视频| 国产女主播视频一区二区| 亚洲午夜av在线| 成人免费毛片aaaaa**| 5月丁香婷婷综合| 亚洲欧美一区二区三区久本道91 | 成人精品免费看| 欧美日韩另类一区| 国产精品久久三| 精品一区二区三区在线观看国产 | 蜜臀av一区二区在线观看| 成人一道本在线| 制服丝袜亚洲色图| 亚洲一区精品在线| 不卡视频一二三| 久久久噜噜噜久噜久久综合| 亚洲国产精品久久一线不卡| 成人av手机在线观看| 精品国产免费视频| 亚洲h动漫在线| 91成人免费网站| 中文字幕一区二区在线播放 | 欧美韩国日本一区| 九九**精品视频免费播放| 91黄色免费看| 日韩电影免费一区| 在线看日本不卡| 亚洲图片另类小说| 91小视频免费观看| 国产精品久久久久久亚洲伦 | 美国十次综合导航| 欧美高清激情brazzers| 亚洲黄色在线视频| 日本道精品一区二区三区| 日韩毛片一二三区| 色婷婷精品久久二区二区蜜臂av| 欧美激情一区二区三区四区| 国产馆精品极品| 亚洲国产高清aⅴ视频| 成人不卡免费av| 亚洲欧美综合网| 欧美性色综合网| 日韩二区三区四区| 欧美变态tickle挠乳网站| 国产综合久久久久久久久久久久 | 国产精品久久久久一区| 91免费国产在线| 一区二区三区在线视频免费| 欧美吞精做爰啪啪高潮| 日韩二区三区四区| 久久久综合激的五月天| av成人老司机| 一区二区三区国产精华| 欧美放荡的少妇| 九一九一国产精品| 国产精品全国免费观看高清| 色综合色狠狠天天综合色| 亚洲精品综合在线| 3d成人动漫网站| 国产福利精品导航| 综合激情成人伊人| 欧美一级欧美一级在线播放| 国产精品一区二区不卡| 亚洲精品中文在线观看| 日韩一区二区在线观看| 99久久久精品| 国产剧情一区在线| 一片黄亚洲嫩模| 精品久久久久久久人人人人传媒 | 亚洲风情在线资源站| 欧美不卡一区二区三区| 91美女在线观看| 久久精品国产亚洲高清剧情介绍 | 欧美成人一区二区三区在线观看| 丁香婷婷综合网| 亚洲一二三区不卡| 中文字幕乱码亚洲精品一区| 在线综合视频播放| 99精品在线观看视频| 精品一区二区三区久久| 亚洲综合在线视频| 国产女人水真多18毛片18精品视频| 精品视频一区三区九区| av午夜一区麻豆| 国产一区二区三区四区五区美女| 亚洲国产日韩在线一区模特| 国产女人18毛片水真多成人如厕 | 蜜臀av一区二区三区| 玉米视频成人免费看| 国产午夜精品一区二区| 91精品国产全国免费观看| 在线观看视频91| k8久久久一区二区三区| 国内精品免费在线观看| 日产精品久久久久久久性色| 亚洲欧美国产77777| 国产精品网站在线播放| 久久综合五月天婷婷伊人| 欧美一级高清大全免费观看| 欧美日韩黄色一区二区| 色婷婷激情综合| 色哟哟国产精品| 99久久99久久精品国产片果冻| 大美女一区二区三区| 国产精品亚洲第一区在线暖暖韩国| 免费成人在线播放| 日本sm残虐另类| 麻豆视频一区二区| 看电视剧不卡顿的网站| 毛片一区二区三区| 美国十次综合导航| 韩国三级电影一区二区| 精品一二线国产| 国产精品一区二区久久不卡| 精品一区二区三区在线观看国产 | 亚洲v中文字幕| 天天综合日日夜夜精品| 日日摸夜夜添夜夜添亚洲女人| 一区二区三区四区视频精品免费 | 亚洲一区二区五区| 欧美亚洲自拍偷拍| 在线观看三级视频欧美| 在线观看亚洲精品| 欧美在线观看视频一区二区| 欧美午夜精品一区二区蜜桃| 欧美久久一二区| 欧美xxxxx裸体时装秀| 亚洲国产成人一区二区三区| 亚洲欧美一区二区在线观看| 亚洲视频免费在线| 天堂久久久久va久久久久| 极品尤物av久久免费看| 成人蜜臀av电影| 欧美视频一区二区在线观看| 久久综合久久99| 亚洲国产成人在线| 亚洲一区中文日韩| 寂寞少妇一区二区三区| 91免费在线看| 日韩片之四级片| 国产精品美女久久久久久2018| 亚洲高清三级视频| 国产精华液一区二区三区| 91色|porny| 欧美v日韩v国产v| 日韩美女视频一区二区| 六月丁香婷婷久久| 色呦呦一区二区三区| 日韩欧美aaaaaa| 亚洲已满18点击进入久久| 国产一区二区三区免费观看| 色噜噜狠狠成人中文综合| 欧美成人福利视频| 亚洲综合成人在线| 国产白丝网站精品污在线入口| 欧美三级午夜理伦三级中视频| 国产日本一区二区| 久久97超碰色| 欧美精品tushy高清|