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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? file.c

?? 基于C開發(fā)的指紋識別源程序.rar
?? C
字號:
/*############################################################################# * 文件名:file.c * 功能:  實(shí)現(xiàn)了指紋相關(guān)文件的操作 * modified by  PRTsinghua@hotmail.com#############################################################################*/#include <stdio.h>#include <stdlib.h>#include <string.h>#include "file.h"/* 對象的這些接口實(shí)現(xiàn)是私有的,不必為用戶所知 */typedef struct iFvsFile_t{	FILE	*pf;	/* 文件指針 */} iFvsFile_t;/******************************************************************************  * 功能:創(chuàng)建一個新的文件對象,只有在創(chuàng)建之后,文件對象才能為其它函數(shù)所用。  * 參數(shù):無  * 返回:若創(chuàng)建失敗,返回NULL;否則返回新的對象句柄。******************************************************************************/FvsFile_t FileCreate(){	iFvsFile_t* p = NULL;	p = (iFvsFile_t*)malloc(sizeof(iFvsFile_t));	if (p!=NULL)		p->pf = NULL;	return (FvsFile_t)p;}/******************************************************************************  * 功能:破壞一個已經(jīng)存在的文件對象,在毀壞之后,文件對象不能再為其它函數(shù)所用。  * 參數(shù):file  即將刪除的文件對象指針  * 返回:無返回值******************************************************************************/void FileDestroy(FvsFile_t file){	iFvsFile_t* p = NULL;	if (file==NULL)		return;	/* 關(guān)閉文件,如果它還打開著 */	(void)FileClose(file);	p = file;	free(p);}/******************************************************************************  * 功能:打開一個新的文件。一個文件可以讀打開,寫打開,或者被創(chuàng)建。  * 參數(shù):file    文件對象  *       name    待打開文件的名字  *       flags   打開標(biāo)志  * 返回:錯誤編號******************************************************************************/FvsError_t FileOpen(FvsFile_t file, const FvsString_t name, 						const FvsFileOptions_t flags){	iFvsFile_t* p = (iFvsFile_t*)file;	char strFlags[10];	int nflags = (int)flags;	/* 關(guān)閉文件,如果已經(jīng)打開 */	(void)FileClose(p);	strcpy(strFlags, "");	if ( (nflags & FvsFileRead)!=0   &&		 (nflags & FvsFileWrite)!=0 )		strcat(strFlags, "rw");	else	{		if ((nflags & FvsFileRead)!=0)			strcat(strFlags, "r");		if ((nflags & FvsFileWrite)!=0)			strcat(strFlags, "w");	}    	strcat(strFlags, "b");	if ((nflags & FvsFileCreate)!=0)		strcat(strFlags, "+");	p->pf = fopen(name, strFlags);	if (FileIsOpen(file)==FvsTrue)		return FvsOK;	return FvsFailure;}/******************************************************************************  * 功能:關(guān)閉一個文件對象,文件關(guān)閉之后,文件不再可用。  * 參數(shù):file    文件對象  * 返回:錯誤編號******************************************************************************/FvsError_t FileClose(FvsFile_t file){	iFvsFile_t* p = (iFvsFile_t*)file;	int nerr = -1;	if (p->pf!=NULL)	{		nerr = fclose(p->pf);		p->pf = NULL;	}	if (nerr==0)		return FvsOK;	return FvsFailure;}/******************************************************************************  * 功能:測試一個文件是否打開  * 參數(shù):file    文件對象  * 返回:文件打開,則返回true;否則返回false******************************************************************************/FvsBool_t FileIsOpen(const FvsFile_t file){	iFvsFile_t* p = (iFvsFile_t*)file;	return (p->pf!=NULL)?FvsTrue:FvsFalse;}/******************************************************************************  * 功能:測試是否到了文件結(jié)尾  * 參數(shù):file    文件對象  * 返回:到了結(jié)尾,返回true;否則返回false******************************************************************************/FvsBool_t FileIsAtEOF(const FvsFile_t file){	iFvsFile_t* p = (iFvsFile_t*)file;	if (FileIsOpen(p)==FvsFalse)		return FvsFalse;	return (feof(p->pf)!=0)?FvsTrue:FvsFalse;}/******************************************************************************  * 功能:提交對文件所作的更改  * 參數(shù):file    文件對象  * 返回:錯誤編號******************************************************************************/FvsError_t FileCommit(FvsFile_t file){	iFvsFile_t* p = (iFvsFile_t*)file;	return (fflush(p->pf)==0)?FvsOK:FvsFailure;}/******************************************************************************  * 功能:跳到文件的開頭  * 參數(shù):file    文件對象  * 返回:錯誤編號******************************************************************************/FvsError_t FileSeekToBegin(FvsFile_t file){	iFvsFile_t* p = (iFvsFile_t*)file;	if (FileIsOpen(p)==FvsTrue)	{		if (fseek(p->pf, 0, SEEK_SET)!=0)			return FvsFailure;		return FvsOK;	}	return FvsFailure;}/******************************************************************************  * 功能:跳到文件的結(jié)尾  * 參數(shù):file    文件對象  * 返回:錯誤編號******************************************************************************/FvsError_t FileSeekToEnd(FvsFile_t file){	iFvsFile_t* p = (iFvsFile_t*)file;	if (FileIsOpen(p)==FvsTrue)	{		if (fseek(p->pf, 0, SEEK_END)!=0)			return FvsFailure;		return FvsOK;	}	return FvsFailure;}/******************************************************************************  * 功能:得到當(dāng)前的文件指針位置  * 參數(shù):file    文件對象  * 返回:當(dāng)前的指針位置******************************************************************************/FvsUint_t FileGetPosition(FvsFile_t file){	iFvsFile_t* p = (iFvsFile_t*)file;	if (FileIsOpen(p)==FvsTrue)		return (FvsUint_t)ftell(p->pf);	return 0;}/******************************************************************************  * 功能:跳到文件的指定位置  * 參數(shù):file     文件對象  *       position 指定的文件位置  * 返回:錯誤編號******************************************************************************/FvsError_t FileSeek(FvsFile_t file, const FvsUint_t position){	iFvsFile_t* p = (iFvsFile_t*)file;	if (FileIsOpen(p)==FvsTrue)	{		if (fseek(p->pf, (long int)position, SEEK_SET)!=0)			return FvsFailure;		return FvsOK;	}	return FvsFailure;}/******************************************************************************  * 功能:從文件中讀數(shù)據(jù),所讀取的字節(jié)數(shù)由length決定。讀取的數(shù)據(jù)保存于指針data。  * 參數(shù):file    文件對象  *       data    指向存儲數(shù)據(jù)的數(shù)組  *       length  要讀取的字節(jié)數(shù)  * 返回:實(shí)際讀取的字節(jié)數(shù)******************************************************************************/FvsUint_t FileRead(FvsFile_t file, FvsPointer_t data, const FvsUint_t length){	iFvsFile_t* p = (iFvsFile_t*)file;	return (FvsUint_t)fread(data, (size_t)1, (size_t)length, p->pf);}/******************************************************************************  * 功能:往文件中寫數(shù)據(jù),所寫的字節(jié)數(shù)由length決定。要寫入的數(shù)據(jù)保存于指針data。  * 參數(shù):file    文件對象  *       data    指向存儲數(shù)據(jù)的數(shù)組  *       length  要寫入的字節(jié)數(shù)  * 返回:實(shí)際寫入的字節(jié)數(shù)******************************************************************************/FvsUint_t FileWrite(FvsFile_t file, const FvsPointer_t data, const FvsUint_t length){	iFvsFile_t* p = (iFvsFile_t*)file;	return (FvsUint_t)fwrite(data, (size_t)1, (size_t)length, p->pf);}/******************************************************************************  * 功能:從文件中得到一個字節(jié)  * 參數(shù):file    文件對象  * 返回:讀取的字節(jié)******************************************************************************/FvsByte_t FileGetByte(FvsFile_t file){	iFvsFile_t* p = (iFvsFile_t*)file;	return (FvsByte_t)fgetc(p->pf);}/******************************************************************************  * 功能:從文件中讀取一個字  * 參數(shù):file    文件對象  * 返回:讀取的字******************************************************************************/FvsWord_t FileGetWord(FvsFile_t file){	iFvsFile_t* p = (iFvsFile_t*)file;	FvsWord_t w = (FvsWord_t)fgetc(p->pf);	return (w<<8)+fgetc(p->pf);}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97se亚洲国产综合自在线观| 亚洲小说春色综合另类电影| 狠狠色丁香九九婷婷综合五月| 91麻豆精品国产91久久久久| 天天爽夜夜爽夜夜爽精品视频| 欧美嫩在线观看| 日韩福利电影在线观看| 91精品麻豆日日躁夜夜躁| 免费美女久久99| 久久久午夜电影| aaa亚洲精品| 亚洲线精品一区二区三区| 欧美乱妇23p| 麻豆精品一二三| 国产午夜精品久久久久久免费视| 成人免费av资源| 亚洲欧美日韩在线不卡| 欧美美女一区二区在线观看| 久久99精品久久久| 国产精品久久午夜| 欧美午夜片在线看| 久久99久久99| 国产精品福利一区| 欧美日韩高清一区二区不卡| 国模套图日韩精品一区二区| 国产精品国产a| 欧美久久久久久蜜桃| 激情综合五月婷婷| 亚洲欧美成人一区二区三区| 欧美一区二区三区啪啪| 成人精品鲁一区一区二区| 亚洲综合久久久| 久久影院午夜论| 色8久久精品久久久久久蜜| 精品影视av免费| 亚洲色图在线看| 日韩一区二区三| 色综合色综合色综合色综合色综合 | 精品一区二区免费视频| 国产精品天干天干在线综合| 欧美日本乱大交xxxxx| 国产精品538一区二区在线| 亚洲欧美激情插| 欧美精品一区二区三区高清aⅴ | 91精品国模一区二区三区| 国产黄人亚洲片| 亚洲伊人色欲综合网| 久久久国产综合精品女国产盗摄| 欧美日韩中文精品| 国产成人免费视频精品含羞草妖精| 亚洲一区av在线| 国产日产欧美一区二区视频| 欧美丰满美乳xxx高潮www| 99在线精品观看| 国产乱码精品一区二区三区av | 亚洲美女区一区| 久久久亚洲高清| 91精品国产高清一区二区三区| 一本到不卡免费一区二区| 国产成人免费在线视频| 麻豆91在线看| 亚洲电影一区二区| 亚洲色图.com| 国产精品盗摄一区二区三区| 久久亚洲精品小早川怜子| 日韩一区二区电影网| 欧美三区在线视频| 在线视频国产一区| 91福利在线观看| 99久久er热在这里只有精品15 | 精品国产一区二区三区四区四| 精品视频一区二区不卡| 一本色道亚洲精品aⅴ| a级精品国产片在线观看| 国产一区二区三区电影在线观看| 日韩成人午夜电影| 日韩高清在线一区| 日本成人在线电影网| 日韩精品国产欧美| 午夜av电影一区| 视频在线观看一区| 日韩va亚洲va欧美va久久| 日韩综合在线视频| 蜜桃av一区二区三区| 久久福利视频一区二区| 精品一二三四区| 狠狠色丁香婷综合久久| 国产精品99久久久久久久vr | 亚洲男人的天堂一区二区| 亚洲欧洲三级电影| 亚洲乱码精品一二三四区日韩在线| 国产精品黄色在线观看| 中文字幕日韩一区| 一区二区三区免费在线观看| 一区二区高清在线| 丝袜亚洲另类欧美| 久久精品国产亚洲高清剧情介绍| 狠狠色丁香婷婷综合| 国产69精品久久久久777| av资源站一区| 中文字幕精品在线不卡| 国产精品毛片久久久久久| 亚洲欧洲色图综合| 午夜国产精品影院在线观看| 麻豆一区二区三区| 国产成人免费视频网站| 色婷婷国产精品综合在线观看| 日本黄色一区二区| 日韩一级完整毛片| 久久精品视频一区| 亚洲精品国产精品乱码不99| 日日骚欧美日韩| 国产伦精品一区二区三区视频青涩| 国产成人精品影院| 欧美色国产精品| 久久久精品欧美丰满| 一区二区三区中文在线| 麻豆成人久久精品二区三区红| 成人免费视频视频在线观看免费| 色老汉av一区二区三区| 欧美成人猛片aaaaaaa| 国产精品久久久久久久第一福利| 亚洲国产日产av| 国产精品18久久久久久久久 | 自拍偷自拍亚洲精品播放| 视频一区视频二区中文| 成人黄色在线网站| 欧美一区二区人人喊爽| 国产精品麻豆久久久| 奇米综合一区二区三区精品视频| 岛国av在线一区| 欧美一二三四在线| 亚洲女同女同女同女同女同69| 麻豆91精品视频| 日本精品裸体写真集在线观看| 精品国产一二三| 亚洲成人高清在线| 99re在线精品| 久久久久久久久久久久久久久99 | 成人白浆超碰人人人人| 日韩一区二区三区电影在线观看| 最新热久久免费视频| 狠狠v欧美v日韩v亚洲ⅴ| 欧美日韩国产乱码电影| 日韩毛片精品高清免费| 激情综合五月婷婷| 欧美精品tushy高清| 亚洲同性同志一二三专区| 激情伊人五月天久久综合| 欧美日韩中文国产| 亚洲三级在线看| 国产不卡视频在线观看| 欧美www视频| 午夜av电影一区| 欧美综合一区二区| 中文幕一区二区三区久久蜜桃| 久久精工是国产品牌吗| 欧美精品第1页| 亚洲bt欧美bt精品777| 在线观看亚洲成人| 亚洲欧美视频在线观看视频| 成人h动漫精品| 日本一区二区三区四区| 国产老女人精品毛片久久| 日韩欧美亚洲国产另类| 日本在线播放一区二区三区| 欧美日本精品一区二区三区| 午夜视黄欧洲亚洲| 欧美日韩一区二区在线观看视频| 伊人一区二区三区| 91久久奴性调教| 艳妇臀荡乳欲伦亚洲一区| 色吊一区二区三区| 一区二区三区小说| 在线精品视频一区二区| 亚洲综合色区另类av| 欧美性xxxxxxxx| 天天射综合影视| 日韩一区二区在线播放| 美国一区二区三区在线播放| 日韩精品一区二区三区中文不卡| 日韩高清一级片| 精品福利视频一区二区三区| 久久99国内精品| 久久久亚洲精华液精华液精华液| 国产激情偷乱视频一区二区三区 | 欧美性猛片xxxx免费看久爱| 亚洲最大成人综合| 6080午夜不卡| 狠狠久久亚洲欧美| 国产精品日韩成人| 在线看日本不卡| 色综合久久久久综合体桃花网| 亚洲精品一卡二卡| 欧美日韩视频在线一区二区| 美国十次综合导航| 国产精品网友自拍| 欧美三级电影在线看| 美腿丝袜一区二区三区| 欧美极品少妇xxxxⅹ高跟鞋|