将CString字符串输入转化成整数的实现方法

所属分类: 软件编程 / C 语言 阅读数: 60
收藏 0 赞 0 分享

如下所示:

BOOL IsHexFormat(LPCTSTR pStr) 
{ 
  if (pStr[0] == L'0' && ((pStr[1] == L'x') || (pStr[1] == L'X'))){ 
    return TRUE; 
  } 
  return FALSE; 
} 
 
BOOL IsInputValid(LPCTSTR pStr) 
{ 
  int i; 
  BOOL res; 
  BOOL IsHex; 
  i = 0; 
  res = TRUE; 
  IsHex = IsHexFormat(pStr); 
  while (pStr[i] != L'\0'){ 
    if (pStr[i] >= L'0' && pStr[i] <= L'9'){ 
      i++; 
      continue; 
    } 
    else if (IsHex && (i == 1)){ 
      i++; 
      continue; 
    } 
    else if (IsHex &&  
        ((pStr[i] >= L'a' && pStr[i] <= L'f') ||  
         (pStr[i] >= L'A' && pStr[i] <= L'F') )) { 
      i++; 
      continue; 
    } 
    else{ 
      res = FALSE; 
      break; 
    } 
  } 
  return res; 
} 
 
UINT32 CStrHex2Uint32(LPCTSTR pStr) 
{ 
  int i = 0; 
  UINT32 res = 0; 
 
  while (pStr[i] != L'\0'){ 
    if (pStr[i] >= L'0' && pStr[i] <= L'9'){ 
      res = res * 16 + pStr[i] - L'0'; 
    } 
    else if (pStr[i] >= L'a' && pStr[i] <= L'f'){ 
      res = res * 16 + pStr[i] - L'a' + 10; 
    } 
    else if (pStr[i] >= L'A' && pStr[i] <= L'F'){ 
      res = res * 16 + pStr[i] - L'A' + 10; 
    } 
    else{ 
      break; 
    } 
    i++; 
  } 
  return res; 
} 
/* 将CString转化成UINT32, 0x开头的识别成十六进制,其它为十进制*/ 
BOOL CStr2Uint32(CString str, UINT32 *pData) 
{ 
  LPCTSTR pStr; 
  pStr = (LPCTSTR)str; 
  if (!IsInputValid(pStr)){ 
    *pData = 0; 
    return FALSE; 
  } 
  if (IsHexFormat(pStr)){ 
    UINT32 Data; 
    pStr = &pStr[2]; 
    *pData = CStrHex2Uint32(pStr); 
  } 
  else{ 
    *pData = _wtoi((wchar_t *)pStr); 
  } 
  return TRUE; 
} 

以上就是小编为大家带来的将CString字符串输入转化成整数的实现方法的全部内容了,希望对大家有所帮助,多多支持脚本之家~

更多精彩内容其他人还在看

利用C语言来求最大连续子序列乘积的方法

这篇文章主要介绍了利用C语言来求最大连续子序列乘积的方法,基本的思路以外文中还附有相关ACM题目,需要的朋友可以参考下
收藏 0 赞 0 分享

用C语言判断一个二叉树是否为另一个的子结构

这篇文章主要介绍了用C语言判断一个二叉树是否为另一个的子结构,是数据结构学习当中的基础知识,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言实现的阶乘,排列和组合实例

这篇文章主要介绍了C语言实现的阶乘,排列和组合的方法,涉及C语言数学运算的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言查找数组里数字重复次数的方法

这篇文章主要介绍了C语言查找数组里数字重复次数的方法,涉及C语言针对数组的遍历与判断技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言简单实现计算字符个数的方法

这篇文章主要介绍了C语言简单实现计算字符个数的方法,涉及C语言针对字符串的简单遍历与判定技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

c实现linux下的数据库备份

本文给大家简单介绍下c实现linux下的数据库备份的方法和具体的源码,十分的实用,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

C++获得文件状态信息的方法

这篇文章主要介绍了C++获得文件状态信息的方法,包括文件状态信息、文件所在磁盘盘符、文件创建时间、访问时间及修改日期等,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言按关键字搜索文件夹中文件的方法

这篇文章主要介绍了C语言按关键字搜索文件夹中文件的方法,涉及C语言文件操作及字符串查找的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

C语言之字符串模糊查询方法的实现

本篇文章主要为大家介绍字符串模糊查询的C语言程序编写方法,有需要的朋友可以参考下
收藏 0 赞 0 分享

C语言实现BMP转换JPG的方法

这篇文章主要介绍了C语言实现BMP转换JPG的方法,涉及C#图片格式转换的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多