2

假设我有一个带有字符串“Bob Evans”的 CString 变量。我想从位置 4 复制到原始 CString 的末尾到一个新的 CString,但是我很难找到语义示例:

CString original("Bob Evans");
// Below is what I'm trying to do
// CString newStr = original.copy(4, original.GetLength());

我还考虑过将变量original复制到 STL C++ 字符串,但就转换而言,实现这一点也不是那么容易。您对此有何建议?我可以先将字符串存储在 STL 字符串中,但这将是最后的手段之一,因为我不想重组大量代码只是为了将数据存储在 STL 字符串而不是 CString 中。提前致谢。

4

2 回答 2

7
newStr = original.Mid(4);
于 2009-06-18T19:00:02.993 回答
0

CString将 a转换为标准字符串并不难。唯一的问题是,如果您为 MFC 程序采用默认设置,您可能正在使用 Unicode。这意味着您将要使用std::wstring而不是std::string.

我没有对此进行测试,但我认为默认转换会让它“正常工作”。否则将 CString 转换为 LPCTSTR。

std::wstring copyOfOriginal(original);
于 2009-06-18T19:10:03.150 回答