将有分隔符的字符串(string/CString)转化为int
2013-05-15 19:58
260 查看
例如:字符串为如下所示,是带有某些分隔符的如‘-’。下面的情况是需要将其转化为唯一的int值,采用偏移的方式
CString 转化后的 int
100 100
100-10 100<<8 +10
100-10-2 ((100<<8 + 10)<<8) + 2
代码如下:
那么可以使用 :
const char *str = strTest.GetBuffer();
使用完以后 记得使用:
strTest.ReleaseBuffer();
释放
CString 转化后的 int
100 100
100-10 100<<8 +10
100-10-2 ((100<<8 + 10)<<8) + 2
代码如下:
#include <string> using namespace std; int fun(const char *str) { int ret = 0, num = 0; for(int i = 0; str[i]; ++i) { if(str[i] == '-') { ret = (ret << 8) + num; num = 0; } else { num = num * 10 + str[i] - '0'; } } ret = (ret << 8) + num; return ret; } int main(int argc, char* argv[]) { string str = "100-7-24"; //6555416 string str1 = "134-25"; //34329 string str2 = "100"; int a = fun(str.c_str()); int b = fun(str1.c_str()); int c = fun(str2.c_str()); return 0; }如果字符串是 CString的
那么可以使用 :
const char *str = strTest.GetBuffer();
使用完以后 记得使用:
strTest.ReleaseBuffer();
释放
相关文章推荐
- char *itoa(int value, char *string, int radix)将整数转化为字符串
- int to string 整型转化为字符串( C语言接口与实现:创建可重用软件的技术)
- CString与string类型互相转换、CString转化为LPCSTR、TCHAR转化为CString、CString型字符串连接
- CString和string 、CString和int、char*和CString的转化
- VC字符串类型CString,int,char*,string,wchar_t互相转换代码实例(转自闪电博客)
- CString/string/char*/char[]/int/float相互转化
- stringstream流格式化符,把int转化为string,string又可以转为C语言风格的字符串
- CString/string/int转化
- VC字符串类型CString,int,char*,string互相转换代码实例
- C++中字符串string和整形int的转化
- CString、char、string、int、_bstr_t、CTime、COleDateTime相互转换&amp;判断一个字符串是一个浮点数
- CString、char*、string、int、_bstr_t、CTime、COleDateTime相互转换,判断一个字符串是一个浮点数
- CString、char*、string、int、_bstr_t、CTime、COleDateTime相互转换,判断一个字符串是一个浮点数
- 将字符串中的数字转化为整数(string->int)
- CString/string/char*/char[]/int/float相互转化
- Swift 2.0 裁剪字符串以及Int和String转化
- CString、char*、string、int、_bstr_t、CTime、COleDateTime相互转换,判断一个字符串是一个浮点数
- C++ 中涉及到的 字符串转换 std::string CString char* Int 等
- js数租,对象, 数组,字符串,函数,变量,int与String 型转化,String 转化为js 中内部代码,编码格式转化,<a>标签的死链接
- CString、char、int、string相互转化