switch……case不能匹配字符串的方法
来源:互联网 发布:捕鱼源码有哪些权限 编辑:程序博客网 时间:2024/04/30 07:36
思路:
将字符串添加到map容器中
然后比较字符串名 获得该字符串所对应的索引值
在Switch中使用这个索引值判断
在stdafx.h 添加头文件
#include <map> //注 在CPP中直接添加头文件时 出现了错误 不知道什么原因造成的
- CString fontNameStr;
- std::map<int,CString> nameMap;
- nameMap.insert(std::make_pair(1,L"小篆"));
- nameMap.insert(std::make_pair(2,L"宋体"));
- nameMap.insert(std::make_pair(3,L"楷体"));
- fontNameStr=L"宋体";
- int nIndex=0;
- std::map<int,CString>::iterator iter;
- for(iter=nameMap.begin();iter!=nameMap.end();iter++)
- {
- if (iter->second.CompareNoCase(L"宋体")==0)
- {
- nIndex=iter->first;
- break;
- }
- }
- switch(nIndex)
- {
- case 1:
- break;
- default:
- break;
- }
不过用容器做 有点画蛇添足 , 还不如使用下面方式简单明了
- CString fontNameStr;
- if(fontNameStr.CompareNoCase(L"小篆")==0) nIndex=1;
- if(fontNameStr.CompareNoCase(L"宋体")==0) nIndex=2;
- if(fontNameStr.CompareNoCase(L"楷体")==0) nIndex=3;
- switch(nIndex)
- {
- case 1:
- break;
- case 2:
- break;
- case 3:
- break;
- default:
- break;
- }
参考资料:
http://blog.csdn.net/litoyao/article/details/5591763
http://blog.csdn.net/shuilan0066/article/details/7947396
另一种用枚举的解决办法:http://blog.csdn.net/chanchaw/article/details/7584642
switch case
只支持整数和枚举类型
不支持其他数据类型
支持枚举类型的示例:
0 0
- 解决switch……case不能匹配字符串的方法
- switch……case不能匹配字符串的方法
- switch……case不能匹配字符串的方法
- 解决switch……case不能匹配字符串的方法
- 解决java switch……case不能匹配字符串的方法
- 解决java switch……case不能匹配字符串的方法
- java switch case 用于字符串的方法
- String类不能switch…case的解决方案
- switch… case 语句的用法
- switch… case 语句的用法
- switch… case 语句的用法
- switch… case 语句的用法
- switch… case 语句的用法
- c++ switch/case 使用 string的方法
- python:一种代替 switch--case 的方法
- python switch…case语法
- Switch Case语句中多个值匹配一个代码块的写法
- Switch Case语句中多个值匹配同一个代码块的写法
- C语言中的一些winapi函数!
- HTML, 超文本标记语言, 描述网页结构
- html5动画基础(canvas,闹钟)
- gcc中编译包含math.h的程序注意加-lm参数!
- 2014 蓝桥杯 预赛 c/c++ 本科B组 第7题:六角填数(12')
- switch……case不能匹配字符串的方法
- java.util.ConcurrentModificationException 异常解决办法及原理(顶)
- Android studio、idea中svn不停输入用户密码
- python unittest
- iOS OC声明变量在@interface括号中与使用@property的区别
- java定时调度
- 常规游戏项目开发流程
- 将数组循环右移k位
- 利用Fiddler抓取安卓APP网络请求包