2013-03-04 5 views
0

Я пытаюсь использовать метод CString.replace и, кажется, не заменяю остальную часть строки.CString.Replace заменить более одного символа

tmpStr.Replace(_T('in.'), _T(' ')); 

- это особая линия. Я хочу удалить все экземпляры строки «in». в CString tmpStr. Но, похоже, это только для замены «i» в «дюйме». с пространством. А остальное он оставляет в покое.

Есть ли способ заменить строку на строку?

ответ

5

Вы не вызываете перегрузку, которую собираетесь называть. CString::Replace имеет перегрузку, которая принимает два символа, это вызов, который вызывает ваш вызов функции. Измените 'in.' на "in." (обратите внимание на двойные кавычки вместо одиночных кавычек). Аналогичным образом, измените ' ' на " ".

'in.' - многоканальный литерал, и как это интерпретируется, определяется реализация. Кажется, VC просто считает, что это то же самое, что и i.

+0

спасибо !!. Мои глаза устали, чтобы увидеть три дополнительных пиксела. – 2013-03-04 16:50:15

Смежные вопросы