有使用 CStrBufT 和 CString 的有效示例吗?

问题描述 投票:0回答:1

官方文档:

CStrBufT

我偶然发现了这门课。我进行了搜索并没有找到任何例子。是否属于以下情况:

CString str1 = L”XYZ”;
CStrBufT str1buf = CStrBufT(str1);

?有人真正使用过这个包装类吗?

visual-c++ mfc c-strings
1个回答
0
投票

最常见的是,当您必须将字符串缓冲区传递给由被调用函数填充的 C API 时,可以使用

CStrBufT
。这是一个从 C++ 调用
GetModuleFileName()
的示例(我突然想到了)。

// assume we got a valid HMODULE somewhere
HMODULE module = ...;

// somehow decide on a buffer size; for simplicity, use a constant here
DWORD size = MAX_PATH;

CString filename;
GetModuleFileName(module, CStrBuf(filename, size), size);

// the result is now in filename

// (note: error checks omitted for brevity)
© www.soinside.com 2019 - 2024. All rights reserved.