-这个函数 似乎 陷入 死循环了,当传入的参数unicode 字符为 "上海南京东路118号,电话:021-66668888",上 ->unicode = "4e0a",但由于是小端顺序,内存地址 是 0a4e 的排列顺序
vc6项目MBCS模式没有问题,但当转成 Unicode模式时,问题出现了
CString CTools::Trim(const CString &src) { CString target = src; target.TrimLeft(); target.TrimRight(); typedef map<char, char> TSpaceList; //这里用的char 类型,是不对的,需要TCHAR TSpaceList theSpaceList; theSpaceList[9]; // 横向制表 theSpaceList[13]; // 回车 theSpaceList[10]; // 换行 int len = target.GetLength(); while (theSpaceList.find(target[0]) != theSpaceList.end() || theSpaceList.find(target[len - 1]) != theSpaceList.end()) //找到了0A 上字的低字节位也就是内存中的第一个字节 { for (TSpaceList::iterator it = theSpaceList.begin(); it != theSpaceList.end(); ++it) { target.TrimLeft(it->first);//这里trimleft按宽字符找0x000a从传进来的字符串,但是它找不到的,结果会一直while循环下去 target.TrimRight(it->first); } len = target.GetLength(); if (len == 0) break; }; return target; }
南来地,北往的,上班的,下岗的,走过路过不要错过!
======================个性签名=====================
之前认为Apple 的iOS 设计的要比 Android 稳定,我错了吗?
下载的许多客户端程序/游戏程序,经常会Crash,是程序写的不好(内存泄漏?刚启动也会吗?)还是iOS本身的不稳定!!!
如果在Android手机中可以简单联接到ddms,就可以查看系统log,很容易看到程序为什么出错,在iPhone中如何得知呢?试试Organizer吧,分析一下Device logs,也许有用.
浙公网安备 33010602011771号