⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extfunc.cpp

📁 AppWizard has created this QMPlugin DLL for you. This file contains a summary of what you will f
💻 CPP
字号:
/*********************************************************************
	这里是按键精灵的插件模板
	欢迎您为按键精灵制作插件!
	这个模板是使用标准C++编写的
	褚瑞  2005.3
*********************************************************************/

#include "stdafx.h"
#include "stdio.h"
#include "QMPlugin.h"

/*********************************************************************
 * 函数名称:ParseParam
 * 说明:这个函数是辅助编写插件的,由插件编写者调用。用于拆分用户传来的多个参数
 * 参数:
 * char * -- 用户传来的参数,多个参数之间用逗号分隔
 * char *(多个) -- 把拆分后的参数分别存放在多个缓冲区里面
 * 返回值:
 * int -- 返回成功拆分的参数的个数
 * 作者: 褚瑞 
 * 时间 : 2005-04-30 14:24:37 
*********************************************************************/
int ParseParam(char *lpszParamList, ...)
{
	va_list Marker;

	//统计缓冲区的个数
	va_start( Marker, lpszParamList);     /* 初始化可变参数表 */
	int iBufferNum = -1;
	do {
		int lpszCurrentParam = va_arg( Marker, int);
		if(lpszCurrentParam == 0 || lpszCurrentParam == -1)
			break;
		iBufferNum ++;
	} while(TRUE);
	va_end(Marker);

	//开始拆分
	char *lpCurrentPos, *lpEndPos, *lpszCurrentParam;
	lpCurrentPos = lpszParamList;
	va_start( Marker, lpszParamList);     /* 初始化可变参数表 */
	int iParsedParamNum = 0;	//记录已经拆分的参数的个数
	char cFindChar;
	
	while(TRUE)
	{
		iParsedParamNum ++;
		if(iParsedParamNum > iBufferNum)	//如果缓冲区数目不够,退出
			break;
		
		lpszCurrentParam = va_arg( Marker, char *);	//取得一个新的缓冲区
		cFindChar = ',';		//默认是找逗号
		if(*lpCurrentPos == '\"' || *lpCurrentPos == ',')	//如果遇到了引号或者逗号
			cFindChar = *lpCurrentPos ++;		//找下一个引号或者逗号
		lpEndPos = strchr(lpCurrentPos,cFindChar);	//查找逗号或者引号
		if(lpEndPos == NULL)	//如果没有找到
		{
			strcpy(lpszCurrentParam, lpCurrentPos);	//直接复制字符串
			break;
		}
		//找到了
		strncpy(lpszCurrentParam, lpCurrentPos, lpEndPos - lpCurrentPos);
		lpszCurrentParam[lpEndPos - lpCurrentPos] = 0;
		if(*lpEndPos == '\"' && *(lpEndPos+1) == ',')
			lpCurrentPos = lpEndPos + 2;
		else
			lpCurrentPos = lpEndPos + 1;	//当前查找位置前移动,准备继续找
	}
	va_end(Marker);


	return iParsedParamNum;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -