Разрывы строк с использованием dlmcell в Matlab - отображаются в Notepad ++, но не в Notepad

Я использую функцию dlmcell в Matlab для вывода текста. Мне нужен текст на новой строке каждый раз, когда я добавляю его с помощью dlmcell.

Когда я открываю свой письменный документ в Notepad ++, каждый фрагмент текста помещается в новую строку, как я хочу. Однако, открывая его в Блокноте, который поставляется с окнами, все находится в одной строке. Может кто-нибудь сказать мне, почему это так и как это исправить?


person user1566200    schedule 23.09.2014    source источник


Ответы (1)


Я предполагаю, что вы используете строку \n для объявления новой строки в вашем выводе. Для Notepad ++ этого достаточно, потому что он интерпретирует новую строку только с \n. Для редактора Windows вам также необходимо включить возврат каретки:

заменитель:

\n с \r\n

Таким образом, создается не только новая строка, но и указание редактору продолжить работу со следующей строки.


Чтобы проиллюстрировать, что я имею в виду, откройте выходной файл с помощью Notepad ++ и активируйте Вид> Показать символ> Все символы, и вы увидите что-то вроде:

введите описание изображения здесь

Я написал это с помощью Notepad ++, и он автоматически добавляет CR (возврат каретки) и LF (перевод строки) в конец каждой строки. Matlab этого не сделает, если вы этого не скажете. Таким образом, ваш выходной файл содержит только LF без вышеупомянутой замены.


Я изучал dlmcell, функцию FEX. В текущей версии реализовано собственно \r\n. У вас установлена ​​последняя версия этой функции (Загрузить)? Если нет, то должно быть что-то еще не так, опубликуйте код.

person thewaywewalk    schedule 23.09.2014
comment
\ R \ n решил это! Я просто использую {sprintf ('\ r \ n my string')} и записываю эту ячейку с помощью dlmcell. Кажется, работает хорошо. - person user1566200; 23.09.2014