www.pudn.com > RadiusSrv.rar > xfunction.cpp, change:2003-10-31,size:1312b


#include "xfunction.h" 
 
extern StringArray iPrefixArray;  //国内前缀 
extern StringArray oPrefixArray;  //国际前缀 
 
 
/********************************************************************* 
 * Function Declare : RewriteE164 
 * Explain : 将CDR过来的号码转为标准的电话号码 
 * Parameters :  
 * const char* szE164 -- 需要转的号码 
 *  char *szNewE164 -- 转成标准后的号码 
 * Return :  
 * void  -- NULL 
 * Author : xinbao  
 * Time : 2003-10-30 13:20:20  
*********************************************************************/ 
void RewriteE164(const char* szE164, char *szNewE164) 
{	 
	StringArray::iterator itPrefix; 
	string strPrefix; 
	//国际 
	for(itPrefix=oPrefixArray.begin();itPrefix!=oPrefixArray.end();itPrefix++) 
	{		 
		strPrefix=(string)*itPrefix; 
		if(strncmp(strPrefix.c_str(), szE164, strPrefix.size())==0) 
		{ 
			szE164+=strlen(strPrefix.c_str()); 
			strcpy(szNewE164, "00"); 
			strcat(szNewE164, szE164); 
			return; 
		} 
	} 
	//国内 
	for(itPrefix=iPrefixArray.begin();itPrefix!=iPrefixArray.end();itPrefix++) 
	{			 
		strPrefix=(string)*itPrefix; 
		if(strncmp(strPrefix.c_str(), szE164, strPrefix.size())==0) 
		{ 
			szE164+=strlen(strPrefix.c_str()); 
			strcpy(szNewE164, "0"); 
			strcat(szNewE164, szE164); 
			return; 
		} 
	} 
 
	//网内 
	strcpy(szNewE164, szE164); 
}