MFC копировать определенные разделы CString
Допустим, у меня есть переменная CString, содержащая строку "Боб Эванс". Я хочу скопировать из позиции 4 до конца исходной строки CString в новую строку CString, но у меня возникают проблемы с поиском примеров семантики для этого:
CString original("Bob Evans");
// Below is what I'm trying to do
// CString newStr = original.copy(4, original.GetLength());
Я также думал о копировании оригинала переменной в строку STL C++, но добиться этого тоже не так просто с точки зрения преобразования. Что бы вы посоветовали по этому поводу? Я мог бы сделать строку для хранения в строке STL для начала, но это было бы одним из последних средств, так как я не хотел реструктурировать большой объем кода просто для хранения данных в строке STL вместо CString. Заранее спасибо.
2 ответа
Это не так сложно, чтобы повернуть CString
в стандартную строку; единственное затруднение в том, что вы, вероятно, используете Unicode, если вы используете настройки по умолчанию для вашей программы MFC. Это означает, что вы хотите использовать std::wstring
вместо std::string
,
Я не проверял это, но я думаю, что конверсии по умолчанию позволят этому "просто работать". В противном случае приведите CString к LPCTSTR.
std::wstring copyOfOriginal(original);