惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
D
Docker
有赞技术团队
有赞技术团队
D
DataBreaches.Net
The GitHub Blog
The GitHub Blog
爱范儿
爱范儿
H
Help Net Security
美团技术团队
MyScale Blog
MyScale Blog
B
Blog RSS Feed
C
Check Point Blog
Microsoft Security Blog
Microsoft Security Blog
阮一峰的网络日志
阮一峰的网络日志
A
About on SuperTechFans
小众软件
小众软件
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
GbyAI
GbyAI
G
Google Developers Blog
月光博客
月光博客
Google DeepMind News
Google DeepMind News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Blog — PlanetScale
Blog — PlanetScale
MongoDB | Blog
MongoDB | Blog
F
Fortinet All Blogs

博客园 - 不及格的程序员-八神

博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 Skills 技能详解 OpenClaw部署指南 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 用VC6 App调用第三方Java WebService后的结果字符串乱码问题的解决! 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 日期控件抛异常无效参数,多字节与宽字符不同的实现,MFC42!CString::SetAt, CStringData, *& 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 博文阅读密码验证 - 博客园 Oracle DbProviderFactory
VC6自定义Trim函数在unicode模式下有死循环的bug.
不及格的程序员-八神 · 2026-02-13 · via 博客园 - 不及格的程序员-八神

-这个函数 似乎 陷入 死循环了,当传入的参数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,也许有用.

我的开发工具