CString的GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定

简介: CString的GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定
CString str;
CStringArray array;
GetPrivateProfileString(_T("策略参数"), _T("ROI1"), _T(""), str.GetBuffer(MAX_PATH), MAX_PATH, m_strPathROI);
//CString的GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CString对象在以后的代码中继续可以实现长度自适应增长的功能
str.ReleaseBuffer();//千万不能缺少
int size = splitString(str, ',', array);
if (size != 4)
{
  return FALSE;
}

GetBuffer()主要作用是将字符串的缓冲区长度锁定,releaseBuffer则是解除锁定,使得CString对象在以后的代码中继续可以实现长度自适应增长的功能。


是否需要在GetBufer后面调用ReleaseBuffer(),是根据你的后面的程序是否需要继续使用该字符串变量,并且是否动态改变其长度而定的。不是什么好地编程习惯,之类的原因。

如果你GetBuffer以后程序自函数就退出,局部变量都不存在了,调用不掉用ReleaseBuffer没什么意义了。


对一个CString变量,你可以使用的唯一合法转换符是LPCTSTR,直接转换成非常量指针(LPTSTR-[const] char*)是错误的。正确的得到一个指向缓冲区的非常量指针的方法是调用GetBuffer()方法。


相关文章
|
2月前
|
编译器 C++
02头文件的冲突导致,清除缓冲区失败之cin.ignore() 问题
输入任意多个整数, 把这些数据保存到文件data.txt中. 如果在输入的过程中, 输入错误, 则提示用户重新输入. 指导用户输入结束(按ctrl + z) [每行最多保存4个整数] 可能遇到的 cin.ignore();问题
32 0
|
10天前
|
调度
mutex和原⼦锁混⽤导致mutex失效的情况和原因
mutex和原⼦锁混⽤导致mutex失效的情况和原因
|
4天前
|
机器学习/深度学习
3 个进程 P1、P2、P3 互斥地使用一个包含 N(N > 0)个单元的缓冲区。P1 每次用 produce() 生成一个正整数,并用 put() 将其送入缓冲区的某一空单元中 ;P2每次用 get
3 个进程 P1、P2、P3 互斥地使用一个包含 N(N > 0)个单元的缓冲区。P1 每次用 produce() 生成一个正整数,并用 put() 将其送入缓冲区的某一空单元中 ;P2每次用 get
有 3 个进程 P1、P2、P3 协作解决文件打印问题。P1 将文件记录从磁盘读入内存的缓冲区 1,每执行一次读一个记录 ;P2 将缓冲区 1 中的内容复制到缓冲区 2 中,每执行一次复制一个记录 ;
有 3 个进程 P1、P2、P3 协作解决文件打印问题。P1 将文件记录从磁盘读入内存的缓冲区 1,每执行一次读一个记录 ;P2 将缓冲区 1 中的内容复制到缓冲区 2 中,每执行一次复制一个记录 ;
|
16天前
|
安全 数据安全/隐私保护
本地磁盘有个锁是怎么去掉
本地磁盘有个锁是怎么去掉
7 0
|
Linux C语言 Windows
【Linux进程】四、printf函数的缓冲区刷新机制与父子进程间的“读共享写拷贝”问题
【Linux进程】四、printf函数的缓冲区刷新机制与父子进程间的“读共享写拷贝”问题
195 0
【Linux进程】四、printf函数的缓冲区刷新机制与父子进程间的“读共享写拷贝”问题
缓冲区提前释放,导致H264保存及播放错误
缓冲区提前释放,导致H264保存及播放错误
71 0
|
定位技术
定位锁定方法
定位锁定方法
181 0
定位锁定方法
|
存储
SAP WM 如何理解使用LT0G撤销TO时系统出现的锁的标志
SAP WM 如何理解使用LT0G撤销TO时系统出现的锁的标志   http://mp.weixin.qq.com/s/qsDd_ffojh6C1M9YiShmJQ     我们在使用LT0G对TO做撤销的时候,系统有的时候会在这一行的行头显示一个锁的标志,有的时候就没有。
2367 0
|
JavaScript BI 数据库
巧用标志字段实现填报数据的暂存与锁定
<br>用户页面端数据录入时,由于数据的不确定性,通常会需要将数据暂存而不真正入库,类似草稿功能,等能确保数据准确时再进行数据入库操作,来乾学院看看如果简单的通过一个标志字段实现数据的暂存与锁定。<a href="http://c.
1103 0