字符串和整型相互转换
2011-07-29 17:57
239 查看
支持BGP 4-octets AS Num,EDIT对话框支持两种输入方式,一种是输入四字节整型,另一种是点分类型输入,这就需要
类型转换。
/*****************************************************************************
【功能】把字符串转换为整型,如果大于65535则说明用户按ASPLAIN输入
******************************************************************************/
ULONG ConvertCStringToInterger(CString str)
{
char *temp;
unsigned long ulAs = 0;
unsigned int AS[2] = {0};
char a[100];
memset(a, 0, 100);
strncpy(a,(LPCTSTR)str,sizeof(a));
temp = strtok(a, ".");
int i = 0;
while ((temp != NULL)&&(i < 2))
{
AS[i] = atoi(temp);
temp = strtok(NULL, ".");
i++;
}
if (i == 1) {
ulAs = AS[0];
}
else {
if (AS[0] > 65535) {
AS[0] = 65535;
}
ulAs = AS[0];
if (AS[1] > 65535) {
AS[1] = 65535;
}
ulAs = (((ulAs << 16) & 0xffff0000) | (AS[1] & 0xffff));
}
return ulAs;
}
/*************************************************************
【功能】把整型转换为CString类,此处统一转换为点分形式表示
**************************************************************/
CString ConvertIntergerToCString(ULONG ulAs)
{
CString strAS;
CString strAsHi, strAsLow;
if (ulAs <= 65535)
{
strAS.Format("%u", ulAs);
}
else
{
strAsHi.Format("%u.", ulAs >> 16);
strAsLow.Format("%u", ulAs & 0xffff);
strAS = strAsHi + strAsLow;
}
return strAS;
}
类型转换。
/*****************************************************************************
【功能】把字符串转换为整型,如果大于65535则说明用户按ASPLAIN输入
******************************************************************************/
ULONG ConvertCStringToInterger(CString str)
{
char *temp;
unsigned long ulAs = 0;
unsigned int AS[2] = {0};
char a[100];
memset(a, 0, 100);
strncpy(a,(LPCTSTR)str,sizeof(a));
temp = strtok(a, ".");
int i = 0;
while ((temp != NULL)&&(i < 2))
{
AS[i] = atoi(temp);
temp = strtok(NULL, ".");
i++;
}
if (i == 1) {
ulAs = AS[0];
}
else {
if (AS[0] > 65535) {
AS[0] = 65535;
}
ulAs = AS[0];
if (AS[1] > 65535) {
AS[1] = 65535;
}
ulAs = (((ulAs << 16) & 0xffff0000) | (AS[1] & 0xffff));
}
return ulAs;
}
/*************************************************************
【功能】把整型转换为CString类,此处统一转换为点分形式表示
**************************************************************/
CString ConvertIntergerToCString(ULONG ulAs)
{
CString strAS;
CString strAsHi, strAsLow;
if (ulAs <= 65535)
{
strAS.Format("%u", ulAs);
}
else
{
strAsHi.Format("%u.", ulAs >> 16);
strAsLow.Format("%u", ulAs & 0xffff);
strAS = strAsHi + strAsLow;
}
return strAS;
}
相关文章推荐
- Python整型数与字符串相互转换
- 『C/C++』整型和字符串相互转换
- JAVA的整型与字符串相互转换
- JAVA的整型与字符串相互转换 android
- C++ 整型和字符串相互转换(转载)
- JAVA的整型与字符串相互转换
- JAVA中整型和字符串相互转换的方法
- 字符串和整型之间相互转换
- JAVA中整型和字符串相互转换的方法
- C++ 整型和字符串相互转换
- Android中整型和字符串相互转换的方法
- Java整型与字符串相互转换(转)
- 整型和字符串相互转换
- (转)JAVA的整型与字符串相互转换
- 字符串和整型之间相互转换
- JAVA的整型与字符串相互转换
- MFC中CString类字符串与长整型、浮点型数据之间的相互转换
- JAVA 整型 与字符串 String 相互转换
- JAVA的整型与字符串相互转换
- JAVA的整型与字符串相互转换 android