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

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

?? inifileop_base.c

?? window ce.net ini文件讀寫
?? C
字號:
/**********************************************************************
* 函數名稱: strtrimr
* 功能描述: 去除字符串右邊的空字符
* 訪問的表: 無
* 修改的表: 無
* 輸入參數: char * buf 字符串指針
* 輸出參數: 無
* 返 回 值: 字符串指針
* 其它說明: 無
* 修改日期        版本號     修改人       修改內容
* -----------------------------------------------
* 2005/6/23        V1.0      廖月旺        創建
* 
***********************************************************************/
char * strtrimr(char * buf)
{
	int len,i;
	char * tmp = NULL;
	len = strlen(buf);
	tmp = (char*)malloc(len);
	
	memset(tmp,0x00,len);
	for(i = 0;i < len;i++)
	{
		if (buf[i] !=' ')
			break;
	}
	if (i < len) {
		strncpy(tmp,(buf+i),(len-i));
	}
	strncpy(buf,tmp,len);
	free(tmp);
	return buf;
}

/**********************************************************************
* 函數名稱: strtriml
* 功能描述: 去除字符串左邊的空字符
* 訪問的表: 無
* 修改的表: 無
* 輸入參數: char * buf 字符串指針
* 輸出參數: 無
* 返 回 值: 字符串指針
* 其它說明: 無
* 修改日期        版本號     修改人       修改內容
* -----------------------------------------------
* 2005/6/23        V1.0      廖月旺        創建
* 
***********************************************************************/
char * strtriml(char * buf)
{
	int len,i;	
	char * tmp=NULL;
	len = strlen(buf);
	tmp = (char*)malloc(len);
	memset(tmp,0x00,len);
	for(i = 0;i < len;i++)
	{
		if (buf[len-i-1] !=' ')
			break;
	}
	if (i < len) {
		strncpy(tmp,buf,len-i);
	}
	strncpy(buf,tmp,len);
	free(tmp);
	return buf;
}

/**********************************************************************
* 函數名稱: FileGetLine
* 功能描述: 從文件中讀取一行
* 訪問的表: 無
* 修改的表: 無
* 輸入參數: FILE *fp 文件句柄;int maxlen 緩沖區最大長度
* 輸出參數: char *buffer 一行字符串
* 返 回 值: 實際讀的長度
* 其它說明: 無
* 修改日期        版本號     修改人       修改內容
* -----------------------------------------------
* 2005/6/23        V1.0      廖月旺        創建
* 
***********************************************************************/
int  FileGetLine(FILE *fp, char *buffer, int maxlen)
{
	int  i, j; 
	char ch1; 
	
	for(i = 0, j = 0; i < maxlen; j++) 
	{ 
		if(fread(&ch1, sizeof(char), 1, fp) != 1) 
		{ 
			if(feof(fp) != 0) 
			{ 
				if(j == 0) return -1;               /* 文件結束 */ 
				else break; 
			} 
			if(ferror(fp) != 0) return -2;        /* 讀文件出錯 */ 
			return -2; 
		} 
		else 
		{ 
			if(ch1 == '\n' || ch1 == 0x00) break; /* 換行 */ 
			if(ch1 == '\f' || ch1 == 0x1A)        /* '\f':換頁符也算有效字符 */ 
			{ 
				buffer[i++] = ch1; 
				break; 
			} 
			if(ch1 != '\r') buffer[i++] = ch1;    /* 忽略回車符 */ 
		} 
	} 
	buffer[i] = '\0'; 
	return i; 
} 

/**********************************************************************
* 函數名稱: FileCopy
* 功能描述: 文件拷貝
* 訪問的表: 無
* 修改的表: 無
* 輸入參數: void *source_file 源文件 void *dest_file 目標文件
* 輸出參數: 無
* 返 回 值: 0 -- OK,非0--失敗
* 其它說明: 無
* 修改日期        版本號     修改人       修改內容
* -----------------------------------------------
* 2005/6/23        V1.0      廖月旺        創建
* 
***********************************************************************/
int  FileCopy(void *source_file, void *dest_file)
{ 
	FILE *fp1, *fp2; 
	char buf[1024+1]; 
	int  ret; 
	
	if((fp1 = fopen((char *)source_file, "r")) == NULL) 
		return COPYF_ERR_OPEN_FILE; 
	ret = COPYF_ERR_CREATE_FILE; 
	
	if((fp2 = fopen((char *)dest_file, "w")) == NULL) goto copy_end; 
	
	while(1) 
	{ 
		ret = COPYF_ERR_READ_FILE; 
		memset(buf, 0x00, 1024+1); 
		if(fgets((char *)buf, 1024, fp1) == NULL) 
		{ 
			if(strlen(buf) == 0) 
			{ 
				if(ferror(fp1) != 0) goto copy_end; 
				break;                                   /* 文件尾 */ 
			} 
		} 
		ret = COPYF_ERR_WRITE_FILE; 
		if(fputs((char *)buf, fp2) == EOF) goto copy_end; 
	} 
	ret = COPYF_OK; 
copy_end: 
	if(fp2 != NULL) fclose(fp2); 
	if(fp1 != NULL) fclose(fp1); 
	return ret; 
}

/**********************************************************************
* 函數名稱: SplitSectionToNameIndex
* 功能描述: 分離section為name和index
*            [section]
*              /   \
*            name:index
*            jack  :   12 
*   	     |     |   | 
*            k1    k2  i 
* 訪問的表: 無
* 修改的表: 無
* 輸入參數: char *section  
* 輸出參數: char **name, char **index
* 返 回 值: 1 --- ok 
*			 0 --- blank line 
*			-1 --- no name, ":index" 
*			-2 --- only name, no ':' 
* 其它說明: 無
* 修改日期        版本號     修改人       修改內容
* -----------------------------------------------
* 2005/6/23        V1.0      廖月旺        創建
* 
***********************************************************************/
int  SplitSectionToNameIndex(char *section, char **name, char **index)
{ 
	int  i, k1, k2, n; 
	
	if((n = strlen((char *)section)) < 1) return 0; 
	for(i = 0; i < n; i++) 
		if(section[i] != ' ' && section[i] != '\t') break; 
		if(i >= n) return 0; 
		if(section[i] == CFG_nis) return -1; 
		k1 = i; 
		for(i++; i < n; i++) 
			if(section[i] == CFG_nis) break; 
			if(i >= n) return -2; 
			k2 = i; 
			for(i++; i < n; i++) 
				if(section[i] != ' ' && section[i] != '\t') break; 
				section[k2] = '\0'; 
				*name = section + k1; 
				*index = section + i; 
				return 1; 
} 

/**********************************************************************
* 函數名稱: JoinNameIndexToSection
* 功能描述: 合成name和indexsection為section
*            jack  :   12 
*            name:index
*              \   /
*            [section]
* 訪問的表: 無
* 修改的表: 無
* 輸入參數: char *name, char *index
* 輸出參數: char **section  
* 返 回 值: 1 --- ok 
*			 0 --- blank line 
* 其它說明: 無
* 修改日期        版本號     修改人       修改內容
* -----------------------------------------------
* 2005/6/23        V1.0      廖月旺        創建
* 
***********************************************************************/
int  JoinNameIndexToSection(char **section, char *name, char *index)
{ 
	int n1,n2; 
	
	if((n1 = strlen((char *)name)) < 1) return 0; 
	if((n2 = strlen((char *)index)) < 1) return 0;
	
	strcat(*section,name);
	strcat(*section+n1,":");
	strcat(*section+n1+1,index);
	*(*section+n1+1+n2) = '\0';
	return 1; 
} 
/**********************************************************************
* 函數名稱: SplitKeyValue
* 功能描述: 分離key和value
*      key=val
*			jack   =   liaoyuewang 
*			|      |   | 
*			k1     k2  i 
* 訪問的表: 無
* 修改的表: 無
* 輸入參數: char *buf  
* 輸出參數: char **key;char **val
* 返 回 值: 1 --- ok 
*			 0 --- blank line 
*			-1 --- no key, "= val" 
*			-2 --- only key, no '=' 
* 其它說明: 無
* 修改日期        版本號     修改人       修改內容
* -----------------------------------------------
* 2005/6/23        V1.0      廖月旺        創建
* 
***********************************************************************/
int  SplitKeyValue(char *buf, char **key, char **val)
{
	int  i, k1, k2, n; 
	
	if((n = strlen((char *)buf)) < 1) return 0; 
	for(i = 0; i < n; i++) 
		if(buf[i] != ' ' && buf[i] != '\t') break; 
		if(i >= n) return 0; 
		if(buf[i] == '=') return -1; 
		k1 = i; 
		for(i++; i < n; i++) 
			if(buf[i] == '=') break; 
			if(i >= n) return -2; 
			k2 = i; 
			for(i++; i < n; i++) 
				if(buf[i] != ' ' && buf[i] != '\t') break; 
				buf[k2] = '\0'; 
				*key = buf + k1; 
				*val = buf + i; 
				return 1; 
} 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线影视一区二区三区| 在线精品视频小说1| 国内精品伊人久久久久av影院 | 成人精品视频一区二区三区尤物| 国产原创一区二区三区| 国产成人日日夜夜| 99精品视频一区二区| 欧美三级中文字幕在线观看| 在线91免费看| 久久精品视频在线看| 中文字幕乱码久久午夜不卡| 国产精品国产馆在线真实露脸 | 高清国产午夜精品久久久久久| 美女在线视频一区| 久久电影网站中文字幕| 91一区在线观看| 欧美mv和日韩mv的网站| 国产精品成人午夜| 免费精品视频最新在线| 97se亚洲国产综合自在线不卡| 欧美性一级生活| 国产精品女主播在线观看| 亚洲电影欧美电影有声小说| 经典三级一区二区| 欧美一区二区三区公司| 一区二区高清免费观看影视大全| 国产一区二区三区在线观看免费视频| 99视频精品免费视频| 久久影院视频免费| 国产成人无遮挡在线视频| 日韩一区二区三区av| 久久国产夜色精品鲁鲁99| 日韩视频永久免费| 蜜臀久久99精品久久久画质超高清 | 亚洲成人资源网| 在线精品视频免费观看| 午夜精彩视频在线观看不卡| 在线免费亚洲电影| 亚洲国产日韩a在线播放性色| 色猫猫国产区一区二在线视频| 国产精品短视频| 色综合天天综合网国产成人综合天| 亚洲人123区| 欧美日韩午夜影院| 美女视频网站黄色亚洲| 久久免费午夜影院| 狠狠色综合日日| 国产欧美一区二区精品仙草咪| 国产一区二区精品在线观看| 欧美激情一区二区三区在线| 成人午夜私人影院| 午夜欧美电影在线观看| 91精品国产综合久久久蜜臀粉嫩 | 欧美福利视频导航| 大白屁股一区二区视频| 亚洲成av人片在www色猫咪| 精品国产91乱码一区二区三区 | 久久精品亚洲精品国产欧美kt∨ | ...中文天堂在线一区| 91精品综合久久久久久| 国产suv一区二区三区88区| 亚洲免费观看在线观看| 精品国产一区二区三区久久影院| 国产91在线|亚洲| 免费人成网站在线观看欧美高清| 久久综合网色—综合色88| 欧美日韩国产在线观看| 大胆欧美人体老妇| 国产高清精品在线| 国产激情一区二区三区| 精品一区二区av| 久热成人在线视频| 一区二区三区免费观看| 中文字幕中文乱码欧美一区二区| 欧美xxx久久| 欧美白人最猛性xxxxx69交| 欧美日本一道本| 91精品中文字幕一区二区三区| 99久久精品情趣| 成人午夜看片网址| 成人激情黄色小说| 97久久超碰精品国产| 白白色亚洲国产精品| 成人在线视频一区| 成人av影院在线| 色久优优欧美色久优优| 91国产视频在线观看| 欧美午夜片在线看| 日韩欧美成人激情| 欧美精品一区在线观看| 国产精品毛片a∨一区二区三区| 国产精品动漫网站| 日日夜夜免费精品| 国产福利精品导航| 欧美日韩精品三区| 久久免费电影网| 樱桃国产成人精品视频| 美女高潮久久久| 日本精品裸体写真集在线观看 | 亚洲国产一区二区在线播放| 日韩成人伦理电影在线观看| 天堂一区二区在线| 国产·精品毛片| 欧美日韩综合在线免费观看| 精品国产乱码久久久久久1区2区| 国产精品久久久久三级| 麻豆精品久久久| 欧美丝袜丝交足nylons| 中文字幕成人在线观看| 日韩综合小视频| 日本精品一区二区三区四区的功能| 久久久久久97三级| 乱中年女人伦av一区二区| 日本高清不卡aⅴ免费网站| 国产视频不卡一区| 精品中文字幕一区二区| 7777精品伊人久久久大香线蕉完整版| 欧美国产精品中文字幕| 国产在线精品一区二区| 精品国产一区a| 久久99国内精品| 正在播放亚洲一区| 日韩影视精彩在线| 日韩欧美黄色影院| 久久精品国产99久久6| 欧美一区二区三区视频免费播放| 亚洲男人的天堂av| 欧美色倩网站大全免费| 婷婷久久综合九色国产成人| 欧美在线视频你懂得| 一级女性全黄久久生活片免费| 91国模大尺度私拍在线视频| 亚洲综合小说图片| 日韩三级在线免费观看| 九九精品一区二区| 欧美韩国日本不卡| 国产精品99久久久久| 亚洲精品一线二线三线| 国产成人丝袜美腿| 亚洲欧洲制服丝袜| 欧美一区午夜精品| 国产精品一级在线| 亚洲视频一二三区| 欧美高清一级片在线| 国模一区二区三区白浆| 亚洲欧洲精品成人久久奇米网| 成人高清视频免费观看| 亚洲黄色免费电影| 久久综合五月天婷婷伊人| aa级大片欧美| 精品亚洲成a人在线观看| 亚洲欧美在线视频观看| 欧美四级电影网| 国产成人午夜高潮毛片| 亚洲一区av在线| 国产精品区一区二区三| 日韩情涩欧美日韩视频| 国产成人精品三级| 青青草一区二区三区| 亚洲精品成人在线| 中文字幕不卡在线播放| 日韩欧美色综合| 欧美区视频在线观看| 成人av一区二区三区| 国产精品一区二区黑丝| 韩国在线一区二区| 久久99精品国产麻豆婷婷洗澡| 丝袜诱惑亚洲看片| 国产精品三级av| 日韩美女主播在线视频一区二区三区| 91国内精品野花午夜精品| 99久久伊人久久99| 成人av在线影院| 91在线小视频| 在线视频综合导航| 色八戒一区二区三区| 欧美亚洲国产一卡| 3atv在线一区二区三区| 91精品国产美女浴室洗澡无遮挡| 在线观看一区二区视频| 欧美在线视频日韩| 日韩精品一区二区三区老鸭窝| 在线播放一区二区三区| 日韩一本二本av| 中文字幕日韩欧美一区二区三区| 午夜伊人狠狠久久| 狠狠色2019综合网| 91视频一区二区| 久久精品一区二区三区不卡牛牛| 久久精品夜色噜噜亚洲a∨| 国产精品成人一区二区三区夜夜夜| 亚洲成人av电影| 91亚洲国产成人精品一区二区三| 国产精品免费视频一区| 中文字幕免费一区| 久久精品国产秦先生| 日本道精品一区二区三区| 国产精品入口麻豆九色| 国产一区二区毛片| 国产91丝袜在线18|