`

CString 诡异的 GetLength() 返回 0

 
阅读更多
如果CString是从GetPrivateProfileStr()返回的
记得return 该CString 前 释放buffer
要不,CString.GetLength()将返回0
找了半天原因,
----------------------------------------------------
“If   you   use   the   pointer   returned   by   GetBuffer   to   change   the   string   contents,   you   must   call   ReleaseBuffer   before   using   any   other   CString   member   functions.   ”  
   
  在i=m_SZFileName.GetLength()之前调用m_SZFileName.ReleaseBuffer()就可以了。
分享到:
评论

相关推荐

    C/C++的CString成员函数用法大全

    `:不区分大小写比较两个字符串,相等时返回 0,大于时返回 1,小于时返回-1。 删除字符 `int Delete(int nIndex, int nCount = 1);`:删除字符,删除从下标 `nIndex` 开始的 `nCount` 个字符。 插入字符或字符串...

    如何把char str,或unsigned char str转换成CString

    CString 还提供了其它成员函数,如 GetBuffer、GetLength、IsEmpty 等,可以用于操作 CString。 五、常用数据类型的转换 常用的数据类型转换包括: * 整数(int)转换成CString * 浮点数(float)转换成CString * ...

    CString使用方法~

    当字符串小于参数字符串时返回负数,相等时返回0,大于时返回正数。例如: ```cpp CStrings1("abc"); CStrings2("abd"); ASSERT(s1.Compare(s2)==-1); // s1小于s2 ``` #### 2. `CString::CompareNoCase` `...

    MFC字符串CString 操作用法详解

    // 输出:0 ``` 7. **Delete()**: 删除从下标`nIndex`开始的`nCount`个字符。 ```cpp csStr = "ABCDEF"; csStr.Delete(2, 3); cout ; // 输出:ABF ``` 当`nIndex`过大时,函数不会执行任何操作;当`...

    MFC C++中CString的相关函数说明

    ***pareNoCase():不区分大小写地比较两个CString对象,相等返回0,大于返回1,小于返回-1。 例如:csStr="abcdef中文123456"; csStr2="ABCDEF中文123456"; cout ***pareNoCase(csStr2); // 输出0 7. Delete():...

    CString转UTF8,UTF8转CString

    ### CString与UTF-8之间的转换方法 在C++编程中,尤其是在使用Microsoft Foundation Classes (MFC)库进行Windows应用程序开发时,字符串处理是一项常见的任务。本文将详细介绍如何在MFC中实现`CString`对象与UTF-8...

    CString源码.txt

    `:一个函数指针,返回字符串的实际数据起始地址。 `CStringData`的大小通常被设计为12字节,这使得`this + 1`可以直接指向字符串数据的起始位置。通过这种方式,可以高效地访问到字符串内容。 #### 2. 构造函数与...

    用C++语言实现一个详尽的CString类

    - **功能**: 返回当前`CString`对象所包含的字符串。 2. **获取长度方法**: ```cpp int CString::GetLength() { return m_len; } ``` - **功能**: 返回当前字符串的长度。 3. **赋值运算符重载**: ```cpp...

    mfc关于CString的所有操作

    在Microsoft Foundation Classes (MFC)库中,`CString`是一个非常重要的类,它提供了一种方便的方式来处理和操作字符串。`CString`类是基于C++的,它在内存管理、字符串连接、格式化等方面提供了很多便利的方法。...

    CString

    CString 类详解 CString 类是 MFC 中的一种字符串类,用于维护字符串指针,以避免缓冲溢出、内存泄漏等问题。CString 类对一个用来存放字符串的缓冲区和对施加于这个字符串的操作进行了封装。 CString 类的实现...

    CString类型转换为CTime类型的函数

    CString strRight = strTm.Right(strTm.GetLength() - nPos - 1); nPos = strRight.Find("-"); CString strMonth = strRight.Left(nPos); CString strDay = strRight.Right(strRight.GetLength() - nPos - 1); ``` ...

    CString详解,介绍CString类

    ### CString详解及应用 #### 一、概述 `CString`是Microsoft Foundation Classes (MFC)框架中的一个核心类,用于处理字符串数据。它提供了一系列强大的功能来简化字符串操作,包括字符串连接、转换、格式化等。`...

    CString和string对象

    c_str函数是string类中的一个函数,它返回const char*类型的指针,指向字符串的字符数组。这个函数非常重要,因为它可以将string类型转化为char*类型。 const char *cfirst = add_to.c_str(); const char *csecond ...

    CString用法

    `CString::GetLength` 获取当前`CString`对象的长度。 - **语法**: ```cpp int GetLength() const; ``` - **返回值**:返回字符串的实际长度。 - **示例代码**: ```cpp CString s = _T("abcdef"); ...

    CString 初始化 和 函数用法大全.pdf

    `:返回CString对象的长度,不包括结尾的空字符。 - `void MakeReverse();`:颠倒CString对象中的字符顺序。 - `void MakeUpper();`:将CString对象中的所有小写字母转换为大写字母。 - `void MakeLower();`:将...

    将CString字符串(包含中文,字母,数字等)保存到指定路径txt文件

    file.Write(data, data.GetLength()*sizeof(wchar_t));//写入 file.Flush();//刷新缓冲区 file.Close();//完成关闭 ``` 在上面的代码中,我们首先定义了一个CString字符串data,然后使用Replace方法将字符串中的...

    cstring类成员函数

    cstring函数所有类成员函数解析 及其cstring类功能 成员函数功能

    CString字符串的封装

    6. **长度获取**:`GetLength`返回字符串的字符数量。 为了使`CString`封装更加严谨,我们需要关注以下几点: 1. **异常安全**:在执行可能导致失败的操作时,如内存分配或动态增长,应确保在发生错误时释放已分配...

    VC++ 字符串 CString 加密 解密 源码

    在VC++编程环境中,字符串处理是非常常见的任务,而CString是Microsoft MFC(Microsoft Foundation Classes)库提供的一种方便、高效的字符串类。它提供了丰富的成员函数,用于处理和操作字符串。在这个主题中,我们...

Global site tag (gtag.js) - Google Analytics