Вопрос по c++, stl – MFC копировать определенные разделы CString

2

Допустим, у меня есть переменная CString, содержащая строку «Bob Evans». Я хочу скопировать из позиции 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. Заранее спасибо.

Ваш Ответ

2   ответа
7
newStr = original.Mid(4);
Благодарю. Функция Mid работает для меня очень хорошо. Мне довольно неловко, почему Microsoft называет эту функцию Mid (). stanigator
Они имеют .Left, .Mid и .Right - имеет смысл, как только вы начнете их использовать.
0

CString в стандартную строку; единственное затруднение в том, что вы, вероятно, используете Unicode, если вы используете настройки по умолчанию для своей программы MFC. Это означает, что вы хотите использоватьstd::wstring вместоstd::string.

Я не проверял это, но я думаю, что преобразования по умолчанию позволят этому "просто работать". В противном случае приведите CString к LPCTSTR.

std::wstring copyOfOriginal(original);

Похожие вопросы