思路:


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

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐