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

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

?? pickbin.c

?? 本代碼可以區(qū)分二進制文件和普通文本(ASCII)文件
?? C
字號:
/*------------------------------------------------------------------------
 Module:        d:\lccwin32\projects\pickbin\pickbin.c
 Author:        Oscar Cai
 Project:       Pick Text File
 State:         Finished.
 Creation Date: 2005.11.12
 Description:   The purpose of this source file is to pick out
                text files under a specified directory.

				This source will find out all files under the
				specified directory and its subdirectories at
				first, then check out them one by one.

				There are so many kinds of binary files, and
				most of them have one or more zero value byte
				in their content. Therefore, this source
				distinguishs binary files from text stream ones
				by checking out whether there is at least one
				zero value byte in their content.
------------------------------------------------------------------------*/
/* --- The following code comes from d:\lccwin32\lib\wizard\textmode.tpl. */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <io.h>



#define	BUFSIZE 	1024
#undef	RUNTESTUNIT


static int listBinary = 0;
static int quietMode  = 0;
static int usageShown = 0;

/*------------------------------------------------------------------------
 Procedure:     isBinary
 Purpose:       Check out whether a file is a binary file.
 Input:         fname: [in] Specify the file name.
 Output:        If the file is a binary one, return 1. Otherwise,
                return 0. If some error occurs, return 0 too.
 Errors:
------------------------------------------------------------------------*/
int isBinary(char* fname)
{
	static unsigned char buffer[BUFSIZE];
	static FILE *fp;
	static int i, numRead, hasZero;

	if(NULL == fname)
		return 0;

	if(NULL == (fp = fopen(fname, "rb")))
		return 0;

	hasZero = 0;
	while(!feof(fp))
	{
		memset(buffer, 0, BUFSIZE);
		numRead = fread(buffer, 1, BUFSIZE, fp);

		for(i = 0; i < numRead; i++)
		{
			if(0 == buffer[i])
			{
				hasZero = 1;
				break;
			}
		}

		if(hasZero)
			break;
	}

	fclose(fp);
	fp = NULL;

	return hasZero;
}

/*------------------------------------------------------------------------
 Procedure:     searchFiles
 Purpose:       Search and list all files under a directory and its
                subdirectories.
 Input:         dir: [in] Specify the directory.
 Output:
 Errors:
------------------------------------------------------------------------*/
void searchFiles(char * dir)
{
	char fname[BUFSIZE];
	struct _finddata_t file;
	long hFile;

	if(NULL == dir)
		return;

	/**
     * Format the search pattern in fname, cause the search pattern
	 * is used for only once.
	 */
	strcpy(fname, dir);
	if(fname[strlen(fname) - 1] != '\\')
		strcat(fname, "\\*");
	else
		strcat(fname, "*");

	/* Find first file or subdirectory in specified directory */
	if((hFile = _findfirst(fname, &file)) != -1L)
	{
		do
		{
			sprintf(fname, dir[strlen(dir) - 1] == '\\' ? "%s%s" : "%s\\%s",
				dir, file.name);

			if(!(file.attrib & _A_SUBDIR))
			{
				if(isBinary(fname) == listBinary)
					printf("%s\n", fname);
			}
			else if((strcmp(file.name, ".") != 0) && (strcmp(file.name, "..") != 0))
			{
				searchFiles(fname);
			}
		} while(_findnext(hFile, &file) == 0);	// Find the rest files or subdirectories

		_findclose(hFile);
	}
}


#ifdef RUNTESTUNIT

/*****************************************************************************
 * Test functions
 *****************************************************************************/

void testIsBinary(void)
{
	int result;

	result = isBinary("pickbin.exe");
	result = isBinary("D:\\fc2tr.txt");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\allcfiles.txt");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\cplib.bat");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\d.bat");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\dev.bat");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\dump.txt");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\env.txt");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\Esmertec-RFI-J2ME-CLDC-Devices-1.1 (XP Simulator).xls");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\Interfaces.doc");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\oplunit.rar");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\tmp.htm");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\WorkLog.txt");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\WorkSheet.doc");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\XPSim.txt");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\os\\win\\32\\x86\\xp\\scripts\\login.bat");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\ToSvn\\dev.bat");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\ToSvn\\Esmertec-RFI-J2ME-CLDC-Devices-1.1 (XP Simulator).xls");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\ToSvn\\Interfaces.doc");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\ToSvn\\WorkSheet.doc");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\ToSvn\\.svn\\README.txt");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\ToSvn\\os\\win\\32\\x86\\xp\\scripts\\login.bat");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\ToSvn\\os\\win\\32\\x86\\xp\\scripts\\.svn\\README.txt");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\ToSvn\\os\\win\\32\\x86\\xp\\.svn\\README.txt");
	result = isBinary("D:\\JBed6WorkDir\\XPSim\\ToSvn\\os\\win\\32\\x86\\.svn\\README.txt");
}



#endif // RUNTESTUNIT

void Usage(char *programName)
{
	if(!usageShown && !quietMode)
	{
		char * baseName = strrchr(programName, '\\');
		if(NULL == baseName)
			baseName = programName;
		else
			baseName++;

		printf("\nPick Files v1.0\n");
		printf("\t- Written by Oscar Cai<oscarcai@esmertec.com.cn>\n");
		printf("\t- 2005.11.12\n\n");
//		printf("\t- Copyright 2000-2005 Esmertec AG. All Rights Reserved.\n\n");
		printf("PURPOSE:\n");
		printf("\tThis tool is used to pick out text or binary files\n");
		printf("\tunder a specified directory.\n");
		printf("USAGE:\n");
		printf("\t%s [-?|h|H] [-b|B] [-q|Q] directory\n\n", baseName);
		printf("OPTIONS:\n");
		printf("\t-?|h|H      Show this message.\n");
		printf("\t-b|B        Opposite to default performance, list\n");
		printf("\t            binary files under the directory.\n");
		printf("\t-q|Q        Quiet work mode, only file pathnames.\n");
		printf("\t            will be dumped to stdout.\n");
		printf("\tdirectory   Specify the directory to search.\n\n");

		usageShown = 1;
	}
}

/* returns the index of the first argument that is not an option; i.e.
   does not start with a dash or a slash
*/
int HandleOptions(int argc,char *argv[])
{
	int i = 0;
	int needToShowUsage = 0;
	int firstNonOption  = 0;
	char buffer[BUFSIZE];

	memset(buffer, 0, BUFSIZE);

	for (i=1; i< argc;i++)
	{
		if (argv[i][0] == '/' || argv[i][0] == '-')
		{
			switch (argv[i][1])
		    {
				/* An argument -? means help is requested */
				case '?':
					if(argv[i][2] == 0 || argv[i][2] == ' ')
					{
						needToShowUsage = 1;
						break;
					}
				/**
			     * If the option -h means anything else
				 * in your application add code here
				 * Note: this falls through to the default
				 * to print an "unknow option" message
				 */
				case 'h':
				case 'H':
					if (!stricmp(argv[i]+1,"help")
						|| argv[i][2] == 0 || argv[i][2] == ' ')
					{
						needToShowUsage = 1;
						break;
					}

				/* add your option switches here */
				case 'b':
				case 'B':
					if(argv[i][2] == 0 || argv[i][2] == ' ')
					{
						listBinary = 1;
						break;
					}

				case 'q':
				case 'Q':
					if(argv[i][2] == 0 || argv[i][2] == ' ')
					{
						quietMode = 1;
						break;
					}

				default:
					needToShowUsage = 1;
					strcat(buffer, " ");
					strcat(buffer, argv[i]);
					break;
			}
		}
		else if(firstNonOption == 0)
		{
			firstNonOption = i;
		}
	}

	if(!quietMode)
	{
		if(needToShowUsage)
			Usage(argv[0]);

		if(strlen(buffer))
			printf("unknown option:%s\n", buffer);
	}

	return firstNonOption;
}

int main(int argc,char *argv[])
{
	int i;

	if (argc == 1) {
		/* If no arguments we call the Usage routine and exit */
		Usage(argv[0]);
		return 1;
	}

	/* handle the program options */
	if(0 == (i = HandleOptions(argc,argv)))
	{
		Usage(argv[0]);
		if(!quietMode)
			printf("A directory must be specified!\n");
		return 1;
	}

#ifdef RUNTESTUNIT

	testIsBinary();

#endif // RUNTESTUNIT

	if(i > 0)
	{
		if(!quietMode)
		{
			printf("The %s files under directory '%s' are:\n\n",
				listBinary ? "binary" : "text", argv[i]);
		}
		searchFiles(argv[i]);
	}

	return 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产久精国产爱| 国产麻豆成人传媒免费观看| 欧美一区二区三区的| 国产一区视频在线看| 亚洲午夜精品17c| 国产视频一区在线观看| 欧美在线视频不卡| 高清成人免费视频| 青娱乐精品视频| 亚洲卡通欧美制服中文| 精品久久久久久久久久久久包黑料| 91香蕉视频mp4| 国产精品亚洲а∨天堂免在线| 日韩中文字幕1| 亚洲三级免费电影| 欧美α欧美αv大片| 蜜臀av性久久久久av蜜臀妖精 | 久久久亚洲高清| 欧美丰满嫩嫩电影| 色婷婷亚洲一区二区三区| 狠狠色丁香久久婷婷综| 日韩国产欧美在线观看| 亚洲最色的网站| 亚洲免费看黄网站| 国产精品人人做人人爽人人添| 精品久久五月天| 欧美日韩在线播放一区| 日本高清不卡在线观看| 91在线一区二区| 成人激情电影免费在线观看| 国内精品免费在线观看| 美国十次综合导航| 日韩高清不卡一区二区三区| 亚洲午夜激情网站| 天天色综合成人网| 三级久久三级久久久| 亚洲成av人在线观看| 亚洲第一成人在线| 亚瑟在线精品视频| 午夜视频久久久久久| 五月天一区二区| 日韩和欧美一区二区| 男女性色大片免费观看一区二区| 亚洲超碰97人人做人人爱| 亚洲成av人片在线| 精品国产一区二区精华| 日韩精品一区二区三区视频| 日韩免费一区二区| 久久综合久久鬼色中文字| 亚洲丝袜自拍清纯另类| 91理论电影在线观看| 91视视频在线观看入口直接观看www| 99久久夜色精品国产网站| 97久久精品人人澡人人爽| 91成人国产精品| 欧美日韩综合一区| 制服.丝袜.亚洲.中文.综合| 欧美videos中文字幕| 日韩一卡二卡三卡国产欧美| 欧美成人女星排行榜| 久久久久久久久伊人| 国产精品你懂的在线| 一区二区三区四区不卡在线 | 久久精品国产亚洲a| 国产永久精品大片wwwapp| 成年人国产精品| 欧美亚洲一区二区在线| 日韩欧美成人激情| 亚洲欧美影音先锋| 天堂精品中文字幕在线| 激情亚洲综合在线| 成人精品电影在线观看| 欧美性xxxxxxxx| 日韩久久久精品| 国产精品久久福利| 丝袜国产日韩另类美女| 极品少妇xxxx精品少妇| 91在线精品秘密一区二区| 91精品国产乱| 日韩色在线观看| 国产精品乱码人人做人人爱 | 综合激情成人伊人| 精品午夜久久福利影院| 一区二区三区欧美视频| 日韩激情在线观看| 国产91色综合久久免费分享| 欧美艳星brazzers| 国产视频在线观看一区二区三区| 一区二区三区在线免费观看| 看电影不卡的网站| 色婷婷av一区二区三区大白胸| 日韩午夜在线播放| 一区二区三区欧美亚洲| 风间由美一区二区av101| 欧美日韩三级一区| 中文字幕在线观看不卡视频| 蜜桃久久av一区| 欧美中文字幕一二三区视频| 国产欧美一区二区精品秋霞影院| 亚洲成人免费在线观看| 国产精品1024| 91精品一区二区三区久久久久久| 亚洲欧洲国产日韩| 久久99精品视频| 欧美日韩综合在线| 亚洲欧洲成人精品av97| 韩国av一区二区| 欧美日韩国产首页| 亚洲乱码一区二区三区在线观看| 狠狠色丁香久久婷婷综| 欧美精品亚洲一区二区在线播放| 国产精品护士白丝一区av| 久草这里只有精品视频| 欧美日韩国产一级二级| 一区二区三区视频在线观看| 99精品久久久久久| 国产精品少妇自拍| 国产在线精品免费| 日韩美女一区二区三区| 亚洲欧美日韩精品久久久久| 国产成人免费视频| 久久色中文字幕| 激情五月婷婷综合网| 日韩视频123| 亚洲精品视频自拍| 91视频在线观看免费| 亚洲视频免费在线观看| 不卡的电影网站| 久久精品无码一区二区三区| 国产在线精品一区二区夜色| 精品国产一区二区国模嫣然| 国产做a爰片久久毛片| 精品盗摄一区二区三区| 精品在线播放免费| 精品国产一区a| 国产精品综合二区| 国产日产精品一区| 成人深夜视频在线观看| 中文字幕va一区二区三区| 岛国av在线一区| 中文字幕欧美国产| 91在线观看免费视频| 中文字幕在线一区二区三区| 成人免费视频视频在线观看免费| 日本一区二区成人在线| 成人综合在线视频| 亚洲三级视频在线观看| 欧美图片一区二区三区| 精品日韩一区二区| 国产精品白丝jk黑袜喷水| 久久久久国产免费免费 | 亚洲精品视频自拍| 欧美猛男超大videosgay| 日韩精品五月天| www国产成人免费观看视频 深夜成人网| 91丨九色丨蝌蚪丨老版| 亚洲综合色噜噜狠狠| 欧美日韩你懂得| 男女激情视频一区| 精品剧情v国产在线观看在线| 风间由美一区二区三区在线观看 | 成人欧美一区二区三区在线播放| 成人精品在线视频观看| 亚洲免费毛片网站| 7878成人国产在线观看| 国内精品第一页| 136国产福利精品导航| 欧美日韩中文一区| 黄色日韩三级电影| 国产精品国产馆在线真实露脸 | 色综合网色综合| 亚洲第一av色| 久久精品无码一区二区三区| 91久久线看在观草草青青| 青娱乐精品在线视频| 国产精品久久久久影院老司| 欧美老肥妇做.爰bbww视频| 国产乱国产乱300精品| 亚洲精品视频自拍| 精品国产一区二区三区久久影院| 不卡的av电影在线观看| 日韩精品亚洲专区| 中文字幕制服丝袜一区二区三区| 精品婷婷伊人一区三区三| 国产一区二区精品久久91| 亚洲精品欧美激情| 日韩一二三区不卡| 99视频有精品| 中文字幕av不卡| 在线综合视频播放| www.日韩精品| 青青国产91久久久久久 | 中文字幕一区二区三区在线观看| 在线日韩一区二区| 国产裸体歌舞团一区二区| 天天综合日日夜夜精品| 中文字幕一区二区三区色视频| 日韩精品影音先锋| 欧美日韩日日骚| 色综合久久中文字幕|