GetBufferSetLength方法返回指向CHString对象的内部字符缓冲区的指针,如有必要,截断或增加其长度以完全匹配nNewLength中指定的长度。 语法 C++ LPWSTRthrow(CHeap_Exception)GetBufferSetLength(intnNewLength ); 参数 nNewLength CHString字符缓冲区的确切大小,以字符为单位。
2.GetBuffer分配了新的内存,但不改变m_length的值;GetBufferSetLength也分配新的内存,同时将m_length的值设置为参数中指定的值。 3.GetCurrentDirectory方法将工作目录的路径直接写入path对象的内存,m_length的值没有改变。这时,使用GetBuffer的版本m_length值为0,使用GetBufferSetLength的版本m_length值为MAX_PATH。
ReleaseBuffer的作用是同步缓冲区中的C风格字符串的状态和CString内部变量的状态,大概这只是获取最终的字符...
在下文中一共展示了SStringW::GetBufferSetLength方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。 示例1: GetFormatText ▲ SStringW SChatEdit::GetFormatText() ...
GetBufferSetLength注解用于在分配新的内存的同时,将nNewLength的值设置为参数中指定的值。其主要作用是申请一个指定长度的空间,即使最终保存的字符串长度小于申请的空间长度,也不会释放多余的空间。通过改变缓冲区的大小,GetBufferSetLength注解会将字符串的长度设置为缓冲区的大小,确保数据能够正确存储和...
GetBuffer和ReleaseBuffer是一套需要配合使用的函数, 与GetBufferSetLength相比, 优点是如果分配的空间大于实际保存的字符串(0结尾), ReleaseBuffer会把多余申请的空间释放, 归还给系统; 但使用时需要注意以下问题: 如果要保存的字符串为abc(0结尾), 则GetBuffer参数应至少为3; 如果要保存的内容不是以0结尾, 比如是...
int nLength = csStr.GetLength(); /* n的值为2 */ GetBufferSetLength相对比较容易理解, 它申请一个指定长度的空间, 即使里面最终保存的字符串长度小于申请的空间长度, 也不会将多余空间释放. CString csStr; LPTSTR lpsz = csStr.GetBufferSetLength(100); ...
函数执行后返回一个LPTSTR指针,指向调整后大小的字符缓冲区。此缓冲区是null-terminated的,表示字符串以空字符结束。返回的指针可以用于进一步的字符串操作。调用GetBufferSetLength(int nNewLength)函数时,如果内存分配成功,则返回调整大小后的字符缓冲区指针。如果内存分配失败,如内存资源不足,函数会抛出...
nLength CSimpleStringT 字符缓冲区的确切大小在字符的。 返回值 对对象(Null终止)字符缓冲区的一 PXSTR 指针。 备注 调用此方法检索 CSimpleStringT 对象的内部缓冲区中的指定长度。 返回的 PXSTR 指针不是 const 因此不允许 CSimpleStringT 内容的直接修改。 如果使用 GetBufferSetLength 返回的指针更改字符串内容,请...