Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > символ переноса строки в CString


Автор: Dray 4.1.2005, 15:13
Простейшая задача попалась. Удалить все переносы строки в CString. Как их получить и как они выглядят? smile

Автор: Mad 4.1.2005, 15:30
0x0a - если текст из linux
0x0d 0x0a - если из виндов
0x0d 0x0d 0x0a - если из доса

Автор: Dray 4.1.2005, 16:29
Спасибо Mad. А есть ли какя нибудь стандартная константа, или функция которая это все вместе возвращает? smile

Автор: Mad 4.1.2005, 16:44
Dray
Насчет константы - нет.
Насчет функций - тут вопрос очень обширный.

В твоем слечае алгоритм таков
Код

int pos = findCR(); // CR - возврат коретки
while (pos)
{
   delectCR();
   pos = findCR();
}

pos = findLF(); // LF - перевод строки
while (pos)
{
   delectLF();
   pos = findLF();
}

Это псевдо код.

Автор: Guest 11.1.2005, 01:48
Используй метод CString::Remove(TCHAR ch)
Код

CString str;
int count;
// Удаление символов возврат каретки CR
count = str.Remove('\r');
// Удаление символов перевод строки LF
count = str.Remove('\n');
Удаляются все символы, в переменной count количество удаленных символов. Удачи

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)