pre{
line-height:1;
color:#d1653c;
background-color:#000000;
font-size:16px;}.sysFunc{color:#566d68;font-style:italic;font-weight:bold;}
.selfFuc{color:#f3e191;}
.bool{color:#f6ac77;}
.condition{color:#ff00ff;font-weight:bold;}
.key{color:#c1018f;}
.var{color:#61afba;font-style:italic;}
.Digit{color:#008000;font-weight:bold;}
.includePre{color:#3c65d1;}
.operator {color:#65ec0f;font-weight:bold;}

思路:

        将字符串添加到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;  
      
    }  

本文使用 书画小说软件 发布,内容与软件无关,书画小说软件 更惬意的读、更舒心的写、更轻松的发布。

 

switch……case不能匹配字符串的方法 .xml的更多相关文章

  1. 解决java switch……case不能匹配字符串的问题

    java1.7已经支持了匹配字符串 方案1. enum Animal { dog,cat,bear; public static Animal getAnimal(String animal){ re ...

  2. C语言中switch case语句可变参实现方法(case 参数 空格...空格 参数 :)

    正常情况下,switch case语句是这么写的: : : ... ;break ; default : ... ;break ; } 接下来说一种不常见的,但是对于多参数有很大的帮助的写法: 先给一 ...

  3. 关于Switch Case的优化

    switch case虽然是代替if else而出现的,并不好维护,有时候使用switch还不如使用if else. 但没有别的东西能代替switch case了吗?答案当然是否定的,现在就有两种方式 ...

  4. C++实现switch匹配字符串string(map方法)

    如果语法中大量使用if...else语句会造成代码臃肿,if语句C++语法中switch...case中case只能是整形变量,这里提供了一种思路,用map方法使健与值对应,这样字符串string类型 ...

  5. JQUERY选择和操作DOM元素(利用正则表达式的方法匹配字符串中的一部分)

    JQUERY选择和操作DOM元素(利用正则表达式的方法匹配字符串中的一部分) 1.匹配属性的开头 $("[attributeName^='value']"); 2.匹配属性的结尾 ...

  6. switch case多值匹配

    switch case多值匹配一般有两种情况 1.列举(将所有值列举出来) var n= 3;switch (n){    case 1:     case 2:    case 3:         ...

  7. 1.3 正则表达式和python语言-1.3.4使用 match()方法匹配字符串

    1.3.4使用 match()方法匹配字符串(第一次写博客,格式,述语有不当之处还请见谅)2018-05-08 Python 代码是以Jupyter Notebook编写的,主要写的是python3的 ...

  8. 【转】xml节点解析成字符串的方法

    网址:http://blog.csdn.net/shanzhizi/article/details/8817532 ZC: 这是 libxml2的 之前汇总了一篇关于xml文档与字符串转换的文章,文章 ...

  9. Objective-C精选字符串处理方法

    无论是什么编程语言对字符串的操作是少不了的,对复杂的字符串的分析和操作我们可以用正则表达式来达到我们的目的.简单的字符串处理我们可以借助OC中NSString封装好的字符串处理方法,不过前提是你得了解 ...

随机推荐

  1. MyBatis学习总结_11_MyBatis动态Sql语句

    MyBatis中对数据库的操作,有时要带一些条件,因此动态SQL语句非常有必要,下面就主要来讲讲几个常用的动态SQL语句的语法 MyBatis中用于实现动态SQL的元素主要有: if choose(w ...

  2. OpenCV4Android开发之旅

    http://blog.csdn.net/yanzi1225627/article/details/16917961

  3. OOP数据库操作方法

    一.数据库操作 连接MYSQL数据 面向对象访问数据库e.g. 造对象 $dx=new MySQLi("localhost","root","123& ...

  4. openwrt(路由器)的源码地址

    https://dev.openwrt.org/wiki/GetSource 路由器的源码地址

  5. 矩形嵌套 南阳理工ACM

    描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a<c,b<d或者b<c,a<d(相当于旋转X90度).例如(1, ...

  6. pl/sql programming 06 异常处理

    如果 PLSQL发生了错误, 无论是系统错误还是应用错误, 都会抛出一个异常, 当前 PL/SQL 块中执行单元会暂停处理, 如果当前块有一个异常处理单元的话, 控制会转移到当前块的异常处理单元来处理 ...

  7. 【转载】Javascript原型继承-学习笔记

    阮一峰这篇文章写的很好 http://www.ruanyifeng.com/blog/2011/06/designing_ideas_of_inheritance_mechanism_in_javas ...

  8. 宏ut_mem_block_t

    /** This struct is placed first in every allocated memory block */ typedef struct ut_mem_block_struc ...

  9. 51nod1215 数组的宽度

    傻叉单调栈 #include<cstdio> #include<cstring> #include<cctype> #include<algorithm> ...

  10. Linux删除文件后空间没有释放

    .COMMAND默认以9个字符长度显示的命令名称.可使用+c参数指定显示的宽度,若+c后跟的参数为零,则显示命令的全名.PID:进程的ID号.PPID父进程的IP号,默认不显示,当使用-R参数可打开. ...