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

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

?? utils.cpp

?? 包括了一些VC編程實例
?? CPP
字號:
//	2002.11.23
//				copy from kdphoto projects

#include "stdafx.h"

int	GetChar( char ** str )
{
    int code = **((unsigned char **)str);
    if ( !str ) return 0;
    if ( !*str ) return 0;
    if ( !code ) return 0;

    (*str) ++;
    if ( code > 0x80 )
    {
        code *= 256;
        code += **((unsigned char **)str);
        (*str) ++;
    }
    return code;
};

int SetChar( char **str, int chr )
{
    int  byte = 1;

    if ( !str ) return 0;
    if ( !*str ) return 0;

    if ( chr < 256 )
    {
        **((unsigned char **)str) = chr % 256;
        (*str) ++;
    }
    else
    {
        **((unsigned char **)str) = chr / 256;
        (*str) ++;
        **((unsigned char **)str) = chr % 256;
        (*str) ++;
        byte ++;
    }

    return byte;
}

int PeekChar( char **str )
{
    int code = **((unsigned char **)str);

    if ( !str ) return 0;
    if ( !*str ) return 0;
    if ( !code ) return 0;

    if ( code > 0x80 )
    {
        code *= 256;
        code += *((unsigned char *)(*str + 1));
    }

    return code;
}

int CatChar( char *str, int cc)
{
	int len = 0;
	while( *str ) 
	{
		GetChar( &str );
		len++;
	}
	SetChar( &str, cc );
	*str = 0;
	return (++len);
}


char *whitespaces = " \t\n";

///去掉空格的函數
void trim( char *buf, char *result )
{
	char * p;
	if ( !buf || !result )
		return;
	p = strlen( buf ) + buf;
	while ( (*buf) && strchr( whitespaces, *buf) ) buf++;
	while( (p >= buf) && strchr( whitespaces, *p) ) p--;
	while ( buf <= p ) *result++ = *buf++;
	*result = 0;
}

char *next_token( char *buf, char *token, char *stopchars )
{
	if ( !stopchars )
		stopchars = whitespaces;
	int cc;
	char *p = token;

	while ( (cc = GetChar(&buf)) && (!strchr( stopchars, cc))  )
		SetChar( &token, cc);			
	SetChar( &token, 0);		
	trim( p, p );

	return buf;
}


CString GetPathName( const char * filename )
{
/*
	CString path = filename;
	char *file = path.GetBuffer(512);
	char *p = file + strlen( file );
	for ( ; *p != '\\' && *p != '/' && p > file; p-- );
	if ( *p == '\\' || *p == '/') p++;
	*p = 0;	
	path.ReleaseBuffer();
*/
	char path[MAX_PATH];
	strcpy( path, filename );
	char *p = path + strlen( path );
	for ( ; *p != '\\' && *p != '/' && p > path; p-- );
	if ( *p == '\\' || *p == '/') p++;
	*p = 0;		
	return CString(path);	
}

///獲取文件擴展名
const char * GetExt( const char * filename )
{
	const char *p = strlen(filename) + filename;
	while( p > filename && *p != '.' ) p--;
	if ( *p != '.' )
		return "\0";
	else
		return p;
}

///獲取文件擴展名
CString GetFileName( const char * filename, int ext = 0)
{
/*
	CString path = filename;
	char *file = path.GetBuffer(512);
	char *p = file + strlen( file );
	for ( ; *p != '\\' && *p != '/' && p > file; p-- );
	if ( *p == '\\' || *p == '/') p++;
	if ( !ext )
	{
		char *p1 = p;
		while( *p1 && *p1 != '.' ) p1++;
		*p1 = 0;	
	}
	path.ReleaseBuffer();
	return p;	
*/
	char path[MAX_PATH];
	strcpy( path, filename );
	char *p  = path + strlen(path);
	for ( ; *p != '\\' && *p != '/' && p > path; p-- );
	if ( *p == '\\' || *p == '/') p++;
	if ( !ext )
	{
		char *p1 = p;
		while( *p1 && *p1 != '.' ) p1++;
		*p1 = 0;	
	}
	return CString(p);
}

typedef  HRESULT  (_stdcall *RegFunc)(void);

BOOL	RegisterControl( const char * file, int reg )
{
	HMODULE hmod = LoadLibrary( file );
	if ( !hmod )
		return FALSE;

	RegFunc func;
	if ( reg )
		func = (RegFunc)GetProcAddress( hmod, "DllRegisterServer" );
	else
		func = (RegFunc)GetProcAddress( hmod, "DllUnregisterServer" );
	if ( func )
	{
		HRESULT hr = func();
		FreeLibrary( hmod );
		return S_OK == hr;
	}
	FreeLibrary( hmod );
	return FALSE;	
}


//0:win9x
//1:winnt
//2:win2000/winxp
//3:win32s
int GetWindowVersion()
{
	DWORD ret;
	DWORD dwVersion = GetVersion();
	
	// Get the Windows version.
	
	DWORD dwWindowsMajorVersion =  (DWORD)(LOBYTE(LOWORD(dwVersion)));
	DWORD dwWindowsMinorVersion =  (DWORD)(HIBYTE(LOWORD(dwVersion)));
	
	// Get the build number.
	DWORD dwBuild;
	if (dwVersion < 0x80000000)              // Windows NT/2000/XP
	{
		dwBuild = (DWORD)(HIWORD(dwVersion));
		if ( dwBuild == 5 )
			ret = 2;
		else
			ret = 1;
	}
	else if (dwWindowsMajorVersion < 4)      // Win32s
	{
		dwBuild = (DWORD)(HIWORD(dwVersion) & ~0x8000);
		ret = 3;
	}
	else                                     // Windows 95/98/Me
	{
		dwBuild =  0;
		ret = 0;
	}
	return ret;
}


CString GetSystemPath()
{
	CString systempath;
	::GetWindowsDirectory(systempath.GetBuffer(MAX_PATH), MAX_PATH);
	systempath.ReleaseBuffer();		
	BOOL bWin9x = ( GetWindowVersion() == 0 );
	if (systempath.Right(1) != _T("\\"))
	{
		//is win9x
		if ( bWin9x )
			systempath += _T("\\System\\");	
		else			
			systempath += _T("\\System32\\");	
	}	
	return systempath;
}


int debug_printf(char *fmt, ...);
//be careful!
void RecursiveDelete(CString szPath)
{
	CFileFind ff;
	CString path = szPath;
	
	if(path.Right(1) != "\\")
		path += "\\";
	
	path += "*.*";
	
	BOOL res = ff.FindFile(path);
	
	///debug_printf("delete dir!:%s\n", (LPCSTR)szPath);
	
	while(res)
	{
		res = ff.FindNextFile();
		if (!ff.IsDots() && !ff.IsDirectory())
		{
			DeleteFile(ff.GetFilePath());
			
		}
		else if (ff.IsDirectory() && !ff.IsDots() )
		{
			path = ff.GetFilePath();
			RecursiveDelete(path);
			RemoveDirectory(path);
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av在线播放网站| 日本午夜精品一区二区三区电影| 欧美一卡在线观看| 在线观看区一区二| 精品视频免费在线| 欧美一区二视频| 5858s免费视频成人| 91精品国产乱| 欧美大片一区二区三区| 26uuuu精品一区二区| 国产欧美一区二区精品性| 久久蜜桃一区二区| 中文字幕亚洲在| 亚洲综合色噜噜狠狠| 亚洲成人在线观看视频| 天使萌一区二区三区免费观看| 天堂精品中文字幕在线| 激情文学综合网| 成人av电影在线| 在线亚洲人成电影网站色www| 欧美在线啊v一区| 精品乱人伦小说| 中文字幕一区二区三区不卡在线| 亚洲区小说区图片区qvod| 三级精品在线观看| 国产丶欧美丶日本不卡视频| 99在线精品免费| 欧美日韩精品三区| 久久久久久久久久电影| 最近日韩中文字幕| 日韩不卡一区二区三区| 成人免费黄色在线| 91精品国产综合久久香蕉的特点| 久久人人爽人人爽| 性做久久久久久久久| 国产精品亚洲成人| 欧美体内she精高潮| 久久久99久久| 日本不卡高清视频| 成人免费视频国产在线观看| 8x8x8国产精品| 日韩毛片视频在线看| 久久国产精品色| 在线观看视频一区二区| 国产视频一区二区三区在线观看 | 午夜精品久久久| 久久se这里有精品| 欧美美女直播网站| 国产精品免费久久| 国产一区二区成人久久免费影院| 欧美中文字幕一区二区三区亚洲| 久久综合久久综合久久| 亚洲国产成人av好男人在线观看| 成人性色生活片免费看爆迷你毛片| 久久久精品国产免大香伊| 午夜精品福利久久久| 91一区二区在线观看| 久久一区二区三区四区| 日韩av在线免费观看不卡| 欧美亚一区二区| 亚洲乱码一区二区三区在线观看| 国产毛片精品视频| 欧美成人精品二区三区99精品| 亚洲免费三区一区二区| av在线不卡电影| 国产午夜亚洲精品理论片色戒| 免费观看在线色综合| 欧美吻胸吃奶大尺度电影 | 欧美一级在线视频| 亚洲综合免费观看高清在线观看| 国产91丝袜在线播放九色| 亚洲精品在线免费播放| 日本午夜一本久久久综合| 欧美高清精品3d| 日韩高清不卡在线| 欧美精品1区2区| 日韩中文字幕1| 91麻豆精品国产91久久久资源速度| 亚洲一区视频在线| 欧美日韩中字一区| 日韩精品电影一区亚洲| 欧美日韩一区二区三区四区 | 精品久久久久久久久久久久久久久久久 | 日韩午夜在线影院| 加勒比av一区二区| 久久免费国产精品| 99免费精品在线观看| 中文字幕一区av| 91国产精品成人| 同产精品九九九| 91精品国产综合久久福利| 蜜桃一区二区三区四区| 久久久久九九视频| 91在线丨porny丨国产| 日韩美女久久久| 欧美日韩国产欧美日美国产精品| 五月天丁香久久| 欧美tk—视频vk| 成人av先锋影音| 亚洲国产成人tv| 日韩精品一区二区三区在线播放| 韩国v欧美v亚洲v日本v| 亚洲同性gay激情无套| 欧美色综合天天久久综合精品| 青青草国产精品亚洲专区无| 国产欧美一区二区三区在线老狼| 成人97人人超碰人人99| 五月婷婷激情综合| 国产欧美一区在线| 欧美日韩在线一区二区| 国产一区二区在线免费观看| 日韩码欧中文字| 日韩一区二区三区视频| eeuss鲁片一区二区三区| 午夜视频在线观看一区二区| 日韩欧美电影一二三| 91色综合久久久久婷婷| 久久成人av少妇免费| 一区二区三区高清| 精品剧情在线观看| 色网综合在线观看| 国产老妇另类xxxxx| 有码一区二区三区| 国产偷国产偷精品高清尤物 | 成人国产亚洲欧美成人综合网| 午夜欧美视频在线观看| 欧美国产1区2区| 欧美一区二区三区男人的天堂| 91在线国产福利| 韩国精品免费视频| 天使萌一区二区三区免费观看| 国产精品国产自产拍高清av王其 | www.亚洲国产| 国产精品77777| 乱中年女人伦av一区二区| 综合中文字幕亚洲| 日韩三级高清在线| 在线观看91精品国产麻豆| 色婷婷av一区二区三区gif | 日韩欧美亚洲国产另类| 欧美性猛片xxxx免费看久爱| 91婷婷韩国欧美一区二区| 国产成人精品免费看| 毛片基地黄久久久久久天堂| 亚洲一级二级三级在线免费观看| 中文字幕成人网| 国产日韩欧美制服另类| www精品美女久久久tv| 91精品婷婷国产综合久久竹菊| 在线亚洲+欧美+日本专区| av在线一区二区| eeuss国产一区二区三区| a美女胸又www黄视频久久| 国产福利一区在线| 成人在线视频首页| 成人h精品动漫一区二区三区| 国产精品一区免费视频| 国产成人免费视频精品含羞草妖精| 久久狠狠亚洲综合| 国产精品系列在线播放| 激情综合色播激情啊| 国精产品一区一区三区mba视频| 精品在线播放午夜| 国产麻豆精品在线观看| 国产一区二区导航在线播放| 国产激情一区二区三区桃花岛亚洲| 国产美女娇喘av呻吟久久| 懂色av一区二区三区免费看| www.成人在线| 色综合色综合色综合| 欧美日韩一二三| 日韩视频一区二区三区在线播放| 精品99久久久久久| 国产精品素人一区二区| 亚洲综合成人在线| 日韩av在线发布| 国产一二精品视频| 91视频www| 欧美一区二区三区四区久久| 国产亚洲成av人在线观看导航| 一区在线观看视频| 日本一区中文字幕| 国产一区 二区 三区一级| 91蜜桃在线观看| 日韩三级视频中文字幕| 国产精品美女久久久久久久久| 亚洲精品美腿丝袜| 久久99蜜桃精品| 91网站在线观看视频| 日韩一区二区三区在线视频| 国产精品乱子久久久久| 亚洲v中文字幕| 成人一区二区视频| 欧美精品123区| 亚洲视频在线一区二区| 紧缚奴在线一区二区三区| 91久久香蕉国产日韩欧美9色| 欧美xxxxxxxxx| 亚洲制服丝袜一区| 国产成人亚洲综合a∨猫咪|