取格式化字符串两头的数值

int is_in_period(int num, char *prd);

int main(int argc, char *argv[])
{
    int num = 15;
    if( is_in_period(num, "11-20") )
    printf("yes!\n");
    else 
    printf("no!\n");
    
    exit(0);
}

/**********************************************************
func: is_in_period(int num, char *prd)
desc: 计算催收费率和催收佣金模块,用来判断催收天数是否prd指定的期间内。
args:num--催收天数;prd--日期天数,格式为"11-20",表示11到20天(包含边界值)。
return: 1--在, 0--不在
autor:L Gh
DATE: 2013-03-25
***********************************************************/
int is_in_period(int num, char *prd)
{
	int pos, ibegin, iend;
	char s_begin[10], s_end[10];
	
	pos = strpos(prd, '-', 0);
	if( pos<=1 || strlen(prd)<=2 )
		return 0;
	
	memset(s_begin, 0, sizeof(s_begin));
	memset(s_end, 0, sizeof(s_end));
	
	memcpy(s_begin, prd, pos-1);
	memcpy(s_end, prd+pos, strlen(prd)-pos);
	ibegin = atoi(s_begin);
	iend =  atoi(s_end);
	
	if( num>=ibegin && num<=iend )
		return 1;
	else
		return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章