记录一下使用CString::MakeLower可能导致的crash的一个问题:

问题重现:

int _tmain(int argc, _TCHAR* argv[])
{
 std::string  sTmp = ":U鬱躺衻撅伙";//参照下面参考三
 CString str  = sTmp.substr(0,sTmp.size() - 1).c_str();
 str.TrimRight();      
 str.MakeLower(); //抛出异常
 return 0;
}

-=-=-=-=-=backtrace  -=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-

KernelBase.dll!7693b727()  
  [下面的框架可能不正确和/或缺失,没有为 KernelBase.dll 加载符号] 
  KernelBase.dll!7693b727()  
  msvcr80d.dll!_CxxThrowException(void * pExceptionObject=0x0018f974, const _s__ThrowInfo * pThrowInfo=0x0042e180)  行161 C++
> test.exe!ATL::AtlThrowImpl(HRESULT hr=E_FAIL)  行77 C++
  test.exe!ATL::AtlCrtErrorCheck(int nError=42)  行48 C++
  test.exe!ATL::Checked::mbslwr_s(unsigned char * _Str=0x002ac0d8, unsigned int _SizeInChars=15)  行161 + 0x20 字节 C++
  test.exe!ATL::ChTraitsCRT<char>::StringLowercase(char * psz=0x002ac0d8, unsigned int size=15)  行462 + 0xd 字节 C++
  test.exe!ATL::CStringT<char,ATL::StrTraitATL<char,ATL::ChTraitsCRT<char> > >::MakeLower()  行1768 + 0x10 字节 C++
  test.exe!main(int argc=1, char * * argv=0x003f5198)  行18 C++
  test.exe!__tmainCRTStartup()  行597 + 0x19 字节 C
  test.exe!mainCRTStartup()  行414 C
  kernel32.dll!760233ca()  
  ntdll.dll!76ef9ed2()  
  ntdll.dll!76ef9ea5()

-=-=-=-=-=-=-=-=-backtrace-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

参考:

1. CString::MakeLower() + Chinese Windows = crash

2. CString::MakeUpper crashes on german umlaut, if language is japanese,微软给出了回复,同时在这里给出了解决方案http://forums.microsoft.com/msdn/default.aspx

3.CString::MakeLower() 崩溃问题 ,这里讲的原因确实会出现crash。

CString::MakeLower Crash的更多相关文章

  1. MFC 字符串类CString 源代码

    原文:http://blog.csdn.net/benny5609/article/details/1926088 CString使用的是引用技术,可以共享数据(这个大家都知道),另外空的CStirn ...

  2. C++——CString用法大全

    列表形式的如下: CString的构造函数CString( );例:CString csStr; CString( const CString& stringSrc );例:CString c ...

  3. CString用法总结

    概述:CString是MFC中提供的用于处理字符串的类,是一种很有用的数据类型. 它很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作时方便了很多. 不管怎样,使用CString有很多的特殊 ...

  4. 【转载】C++——CString用法大全

    CString常用方法简介 作者:webmaster 出处:无 CString::Compareint Compare( LPCTSTR lpsz ) const;返回值  字符串一样 返回0     ...

  5. VC:CString用法整理(转载)

    1.CString::IsEmpty BOOL IsEmpty( ) const; 返回值:如果CString 对象的长度为0,则返回非零值:否则返回0. 说明:此成员函数用来测试一个CString ...

  6. Cstring 的用法

    CString位于头文件afx.h中. 这篇文章就来讨论这些技巧. 使用CString可以让你对字符串的操作更加直截了当.这篇文章不是CString的完全手册,但囊括了大部分常见基本问题. 这篇文章包 ...

  7. CString(转)

    CString::Compare int Compare( LPCTSTR lpsz ) const; 返回值   字符串一样  返回0 小于lpsz  返回-1 大于lpsz  返回1 区分大小字符 ...

  8. VS2010/MFC编程入门之四十二(MFC常用类:CString类)

    上一节鸡啄米讲了分割窗口的有关知识,本节开始讲解MFC的一些常用类,先来说说CString类. CString类简介 CString类作为MFC的常用类,当之无愧.可以这样说,只要是从事MFC开发,基 ...

  9. VS2010-MFC(MFC常用类:CString类)

    转自:http://www.jizhuomi.com/software/228.html CString类简介 CString类作为MFC的常用类,当之无愧.可以这样说,只要是从事MFC开发,基本都会 ...

随机推荐

  1. 深入浅出K-Means算法

    在数据挖掘中,K-Means算法是一种cluster analysis的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法. 问题 K-Means算法主要解决的问题如下图所示. ...

  2. optimize table tablename

    optimize 优化表OPTIMIZE 命令支持的引擎MyIsam, InnoDB, ARCHVE当对表有大量的增删改操作时,需要用optimize对表进行优化,可以减少空间与提高I/O性能,命令o ...

  3. 分布式缓存系统 Memcached 内存管理机制

    在前面slab数据存储部分分析了Memecached中记录数据的具体存储机制,从中可以看到所采用的内存管理机制——slab内存管理,这也正是linux所采用的内存高效管理机制,对于Memchached ...

  4. cp -f 还是提示是否覆盖

    新做了服务器,cp覆盖时,无论加什么参数-f之类的还是提示是否覆盖,这在大量cp覆盖操作的时候是不能忍受的. 把a目录下的文件复制到b目录 以下是代码片段: cp –r a/* b 执行上面的命令时, ...

  5. python开发函数进阶:内置函数

    一,内置函数 #内置的模块#拿过来直接就用的:内置的函数 #!/usr/bin/env python #_*_coding:utf-8_*_ #内置的模块 #拿过来直接就用的:内置的函数 #作用域相关 ...

  6. MFC学习(二)

    WinApp封装了程序的主入口WinMain,WinMain就和C语言的main函数地位一样,是Win32程序的入口.在MFC的封装中,一个程序启动,Windows调用WinMain,这个WinMai ...

  7. 修改Ubuntu默认apt下载源

    修改Ubuntu默认apt下载源 默认下载源很慢,改成阿里的下载速度超快 sudo vim /etc/apt/sources.list 将文件内容替换成 deb http://mirrors.aliy ...

  8. requirejs——define——普通模块

    一.普通模块可能包含的内容: 一个模块对应着一个js文件,由于模块可能包含着以下三种内容:模块名.依赖模块.返回给其他模块使用的参数:因此js文件根据包含内容的不同而写法不同. 一.传统的js脚本文件 ...

  9. 数据仓库-数据采集-ETL漫谈

    数据仓库之ETL漫谈ETL,Extraction-Transformation-Loading的缩写,中文名称为数据抽取.转换和加载.大多数据仓库的数据架构可以概括为:数据源-->ODS(操作型 ...

  10. HDR

    [HDR] 什么是 HDR? 高动态范围拍摄(HDR)现在已经得到广泛使用,被用来补偿大多数数码成像传感器有限的动态范围.照片的动态范围是指最暗的色彩与最亮的色彩之间的亮度范围——也可以一并表示色调范 ...