Что означает fopen ('text.txt', 'wt') в MATLAB? - PullRequest
7 голосов
/ 16 апреля 2010

Я пытался help fopen,

но нет объяснения, что означает t.

Ответы [ 4 ]

5 голосов
/ 16 апреля 2010

Из документации (R2009a, Windows):

В системах UNIX, двоичный и текстовый режимы одинаковы.

В системах Windows, двоичный и текстовый Режимы разные. Если вы не уверены какой режим лучше всего подходит для вашего файла, используйте бинарный режим. По умолчанию открывается fopen файлы для двоичного доступа для чтения.

В двоичном режиме читать и писать операции обрабатывают все символы в таким же образом. В текстовом режиме:

  • Операции чтения, которые встречаются с возвратом каретки с последующим переводом строки персонаж удаляет возврат каретки с входа.

  • Операции записи вставляют возврат каретки перед любым символом новой строки в вход.

Версия UNIX (R2009b) добавляет (в doc fopen):

Для повышения производительности не используйте текстовый режим.

2 голосов
/ 16 апреля 2010

из документация по Matlab Fopen

Чтобы открыть файлы в текстовом режиме, присоедините к разрешению букву «t», например, «rt» или «wt +». Для лучшей производительности не используйте текстовый режим. Следующее применяется в системах Windows в текстовом режиме:

  • Операции чтения, которые сталкиваются с возвратом каретки, за которым следует символ новой строки ('\ r \ n'), удаляют возврат каретки из ввода.

  • Операции записи вставляют возврат каретки перед любым символом новой строки в выводе.

Эта дополнительная обработка не требуется в большинстве случаев. Все функции импорта MATLAB и большинство текстовых редакторов (включая Microsoft Word и WordPad) распознают как '\ r \ n', так и '\ n' как последовательности новой строки. Тем не менее, когда вы создаете файлы для использования в Microsoft Notepad, заканчивайте каждую строку символом '\ r \ n'. Для примера см. Fprintf.

2 голосов
/ 16 апреля 2010

Это похоже на PHP и другие языки в том, что t означает «текстовый» режим; однако значение немного другое.

В MATLAB, если вы открываете файл в текстовом режиме, он удаляет окончания строк из ввода перед обработкой или обработкой строк, а затем читает их для вывода; двоичный режим, обозначенный b, не выполняет такое удаление новой строки.

См. Ссылку fopen .

1 голос
/ 16 апреля 2010

Украдено из документации PHP [да, это другой язык, но мы говорим о параметре filemode, поэтому он не должен отличаться]

Windows предлагает перевод в текстовом режиме флаг ('t'), который будет прозрачно перевести \ n в \ r \ n при работе с файл. Напротив, вы также можете используйте 'b', чтобы включить двоичный режим, который не будет переводить ваши данные. Использовать эти флаги задают либо «b», либо «t» как последний символ режима параметр.

....

Опять же, для мобильности, это также Настоятельно рекомендуется переписать код, который использует или полагается на «т» режим, так что он использует правильную линию окончания и режим 'b' вместо этого.

http://php.net/manual/en/function.fopen.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...