StrBufSize - C++ Builder

C++ Builder 参考手册System::SysutilsStrBufSize


返回用 StrAllocAnsiStrAlloc 分配的字符串内存里面最多可以存放多少个字符

头文件:#include <System.SysUtils.hpp>
命名空间:System::Sysutils
函数原型:

unsigned __fastcall StrBufSize(const char *Str);
unsigned __fastcall StrBufSize(const System::WideChar *Str);

参数:

返回值:

  • 返回值等于分配内存时调用函数 StrAllocAnsiStrAlloc 的参数值,即分配的内存里面最多可以存放的字符个数;
  • 这是过时的函数,因为 AnsiString 和 UnicodeString 都可以自动管理内存,不需要这个函数了;
  • 其中 const char *参数版本的函数是过时的函数,由于 ANSI 编码原因已经移动到 System.AnsiStrings.hpp 这个头文件里面了。

例子:字符串长度、字符串分配内存的字符个数

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    wchar_t *pStr = Sysutils::StrAlloc(100);
    std::wcscpy(pStr, L"Hello, Hsuanlu!");
    Memo1->Lines->Add(pStr); // 输出字符串
    Memo1->Lines->Add(std::wcslen(pStr)); // 字符串长度 = 15
    Memo1->Lines->Add(Sysutils::StrBufSize(pStr)); // 字符串分配内存的字符个数 = 100
    Sysutils::StrDispose(pStr);
}

运行结果:

运行结果

相关:


C++ Builder 参考手册System::SysutilsStrBufSize

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容