1.如何将接收到的CString类型的数据转换为int数组?
  1. //自定义解析输入的字符串
  2. /**
  3. *   传递进去一个CString变量
  4. *  返回int数组的大小
  5. */
  6. int parseString(CString strNum)
  7. {
  8. CString c;
  9. //解析strNum
  10. CStringArray   sa;
  11. while(1){
  12. int pos = strNum.Find(","); //根据,找到第一个数据
  13. if(pos>=0){
  14. sa.Add(strNum.Left(pos)); //取出第一个数据,添加到CStringArray中
  15. strNum = strNum.Mid(pos+1);  //将第一个数据删除掉
  16. }
  17. else
  18. {
  19. sa.Add(strNum);  //将最后一个数据添加到CStringArray中
  20. break;
  21. }
  22. }
  23. int size = sa.GetSize(); //得到所有数据的数目
  24. if (a)
  25. {
  26. delete[] a;
  27. }
  28. a = new int[size];  //动态创建int数组
  29. for(int   i=0;i <sa.GetSize();i++)
  30. {
  31. //通过atoi(CString cs)方法将CString转换为int数据,并赋给int数组
  32. a[i] = atoi(sa.GetAt(i));
  33. }
  34. return size;
  35. }
首先说明解析CString:
用到CString类的一些函数:
Find();
Left();
Right();
Mid();
动态创建数组的方法:
int *a = new int[10];   //分配了一个含有10个int型元素的数组,并返回指向该数组第一个元素的指针。
int *a = new int[10](); //对数组元素值做初始化
动态空间的释放:
delete [] a;
new int(10)表示创建了一个int指针,并初始化它的实例的值为10。
new int[10]表示创建一个10个大小的int指针数组。
int* a = new int(10);
cout << a[5] << endl;
但是,为什么可以访问a[5]呢,输出0
到底分配给a多少个存储单元?
访问了一个非法的内存空间,里面是什么就输出什么,如果那个位置正好存的是1,就输出1
类型转换:
string 转 CString
CString.format(”%s”, string.c_str());
char 转 CString
CString.format(”%s”, char*);
char 转 string
string s(char *);
string 转 char *
char *p = string.c_str();
CString 转 string
string s(CString.GetBuffer());
1,string -> CString
CString.format(”%s”, string.c_str());
用c_str()确实比data()要好.
2,char -> string
string s(char *);
只能初始化,在不是初始化的地方最好还是用assign().
3,CString -> string
string s(CString.GetBuffer());
GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间.
《C++标准函数库》中说的
有三个函数可以将字符串的内容转换为字符数组和C—string
1.data(),返回没有”\0“的字符串数组
2,c_str(),返回有”\0“的字符串数组
3,copy()
将字符转换为整数,可以使用atoi、_atoi64或atol。
而将数字转换为CString变量,可以使用CString的Format函数。如
CString s;
int i = 64;
s.Format(”%d”, i)
Format函数的功能很强,值得你研究一下。
CString互转char*
///char * TO cstring
CString strtest;
char * charpoint;
charpoint=”give string a value”;
strtest=charpoint;
///cstring TO char *
charpoint=strtest.GetBuffer(strtest.GetLength());
标准C里没有string,char *==char []==string
可以用CString.Format(”%s”,char *)这个方法来将char *转成CString。要把CString转成char *,用操作符(LPCSTR)CString就可以了。
CString转换 char[100]
char a[100];
CString str(”aaaaaa”);
strncpy(a,(LPCTSTR)str,sizeof(a));

转载于:https://blog.51cto.com/shpshao/453682

经典排序算法-MFC实现之2:问题相关推荐

  1. 经典排序算法-MFC实现之3:冒泡排序

    //冒泡排序 void sortBubble(int t[],int size,int style) { //style:1升序 int temp = 0; int x; for (int m=0;m ...

  2. 十种经典排序算法精粹(c语言版本)

    下面给出这段时间我苦心研究验证过的十种经典排序算法的C语言版本,即下面的排序算法: 插入排序,shell排序,冒泡排序,快速排序,选择排序,堆排序,归并排序,桶排序,基数排序和计数排序.整理出来以作备 ...

  3. 3分钟快速实现:9种经典排序算法的可视化

    作者 | 爱笑的眼睛 来源 | 恋习Python(ID:sldata2017) 最近在某网站上看到一个视频,是关于排序算法的可视化的,看着挺有意思的,也特别喜感. ▼ 6分钟演示15种排序算法 不知道 ...

  4. 十大经典排序算法动画与解析,看我就够了

    作者 | 程序员小吴 转载自五分钟学算法(ID: CXYxiaowu) 排序算法是<数据结构与算法>中最基本的算法之一. 排序算法可以分为内部排序和外部排序.内部排序是数据记录在内存中进行 ...

  5. 十大经典排序算法(建议收藏)

    来自:Damonare的个人博客 原文:http://blog.damonare.cn/2016/12/20/十大经典排序算法总结(javascript描述)/ 0.算法概述  0.1 算法分类 十种 ...

  6. 3min利用Python实现9种经典排序算法可视化!(附源代码)

    来源:恋习Python 本文附视频,建议收藏. 本文为你分享实现9种经典排序算法可视化的方法,3分钟即可实现. [导 读]近在某网站上看到一个视频,是关于排序算法的可视化的,看着挺有意思的,也特别喜感 ...

  7. 11月14日云栖精选夜读 | 动画+原理+代码,解读十大经典排序算法

    排序算法是<数据结构与算法>中最基本的算法之一. 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过 ...

  8. 经典排序算法 - 鸽巢排序Pigeonhole sort

    经典排序算法 - 鸽巢排序Pigeonhole sort 原理类似桶排序,同样需要一个很大的鸽巢[桶排序里管这个叫桶,名字无所谓了] 鸽巢其实就是数组啦,数组的索引位置就表示值,该索引位置的值表示出现 ...

  9. python遍历数组冒泡排序_经典排序算法(冒泡排序,选择排序,插入排序,快速排序,堆排序)python实现...

    最近在复习经典排序算法,自己用python也实现了一下,这里不会涉及到原理(因为网上方法已经很详细啦),就把函数贴上来,可以让大家自己试着运行下,再结合别处的原理也可以更好地理解它们的实现. 如果有错 ...

最新文章

  1. 几款高频环形磁芯的性能对比
  2. 编程前在Pycharm中自动添加时间日期作者等信息
  3. python文件拷贝并校验_初级版python登录验证,上传下载文件加MD5文件校验
  4. 【Matlab 控制】求左右特征向量
  5. Swift 5 将进一步减小 iOS 应用安装包大小
  6. 安卓okhttp连接mysql_android中okhttp实现断点上传示例
  7. Java集合常见数据结构-栈/队列/数组/链表/红黑树
  8. 动机模型_解读冰山模型:强烈的动机是成功的开始
  9. dbgrideh的功能
  10. mysql between 查询不出来_mysql的语句优化
  11. oracle 修索引改空间_oracle 修改索引现有表空间
  12. JVM监控及诊断工具GUI篇之Arthas(四):monitor、watch、trace相关指令
  13. 机器学习 —— 联合概率分布
  14. echart 三维可视化地图_ECharts实现三维可视化
  15. 主动事务处理器编写BFM
  16. PAT乙级(Basic Level)练习题 星际密码[斐波那契][打表]
  17. 开源协议、开源贡献协议与OpenHarmony
  18. 树莓派3B 安装微雪LCD5inch显示器(包含软键盘)
  19. Oracle(三)常用的查询语句
  20. supervisor的程序控制修改参考方案

热门文章

  1. 正在搜索需要的文件_【数澜发布-澜寻】智能内容搜索引擎,释放“机器阅读” 潜力...
  2. pde中微元分析法的主要思想_有限元方法的核心思想
  3. java wps linux 安装_ubuntu安装Java开发环境
  4. Gulp简介、gulp基本使用步骤、gulp-cli工具、gulpfile.js文件、gulp插件
  5. html中input、label、form、textarea、select
  6. php 关闭电脑,php实现用手机关闭计算机(电脑)的方法
  7. 互联网晚报 | 11月25日 星期四 | 花呗启动品牌隔离;小米MIUI全球月活用户突破5亿;《长津湖》成中国影史票房冠军...
  8. 雷军:我40岁一事无成
  9. B端产品中,Web端表单如何设计
  10. 作者:陈纯(1955-),男,博士,浙江大学计算机科学与技术学院教授,中国工程院院士。...