2010-04-16 7 views

Respuesta

1

robados de la documentación de PHP [sí, esto es un idioma diferente, pero estamos hablando acerca del parámetro fileMode, por lo que no debería ser diferente]

Windows ofrece una traducción de otro modo texto marca ('t') que transparentará traduzca \ n a \ r \ n cuando trabaje con el archivo. Por el contrario, también puede usar 'b' para forzar el modo binario, que no traducirá sus datos. Para utilizar estos indicadores, especifique 'b' o 't' como el último carácter del parámetro del modo.

....

Una vez más, para la portabilidad, es también recomienda encarecidamente que vuelva a escribir código que utiliza o se basa en la 't' modo para que utilice el corrija las terminaciones de la línea y el modo 'b' en su lugar.

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

+0

No del todo - MATLAB trata el modo de texto como "quitar nuevas líneas de entrada". Ver http://www.oit.uci.edu/dcslib/matlab/matlab-v53/help/techdoc/ref/fopen.html – Tim

+0

Entonces, significa 'text' o' translation', ¿cuál? – user198729

+0

Significa el modo 'text'. – Tim

2

Es similar a PHP y otros lenguajes en que el t Qué significa para el modo "texto"; sin embargo, el significado es un poco diferente.

En MATLAB, si abre un archivo en modo texto, quita los finales de línea de la entrada antes de que las líneas sean procesadas o manipuladas, y luego las prepara para su salida; el modo binario, indicado con un b, no realiza tal extracción de nueva línea.

Ver el fopen reference.

+0

¿Puede explicar cómo "quita las nuevas líneas de entrada"? Creo que causará error al concatenar la cola y la cabeza juntas. – user198729

+0

El modo de texto provocará que cualquier instancia de '\ r \ n' en un sistema Windows sea reemplazada en lectura con simplemente' \ n', y lo contrario ocurrirá con una operación de escritura. Los documentos que proporcioné aluden a esto; aquellos que @mtrw proporcionan especifican esto explícitamente. – Tim

+0

¿El modo de texto solo funciona en Windows? – user198729

5

De la documentación (R2009a, Windows):

En los sistemas UNIX, los modos binarios y de texto son los mismos.

En sistemas Windows, los modos binario y de texto son diferentes. Si no está seguro qué modo es el mejor para su archivo, use el modo binario . De forma predeterminada, fopen abre los archivos para el acceso de lectura binaria.

En modo binario, las operaciones de lectura y escritura procesan todos los caracteres en de la misma manera. En el modo de texto:

  • operaciones de lectura que se encuentran con un retorno de carro seguido de un carácter de nueva línea quitar el retorno de carro de la entrada.

  • Las operaciones de escritura insertan un retorno de carro antes de cualquier carácter de nueva línea en la entrada.

La versión de UNIX (R2009b) va a añadir (en doc fopen):

Para un mejor rendimiento, no utilice el modo de texto.

2

de matlab fopen documentation

Para abrir archivos en modo texto, coloque la letra 't' para el permiso, tales como 'RT' o 'wt +'. Para un mejor rendimiento, no use el modo de texto. Lo siguiente se aplica en los sistemas Windows, en modo texto:

  • operaciones de lectura que se encuentran con un retorno de carro seguido de un carácter de nueva línea ('\ r \ n') eliminar el retorno de carro de la entrada.

  • Las operaciones de escritura insertan un retorno de carro antes de cualquier carácter de nueva línea en la salida.

Este procesamiento adicional es innecesario en la mayoría de los casos. Todas las funciones de importación de MATLAB y la mayoría de los editores de texto (incluidos Microsoft Word y WordPad) reconocen tanto '\ r \ n' como '\ n' como secuencias de nueva línea. Sin embargo, cuando crea archivos para su uso en el Bloc de notas de Microsoft, termine cada línea con '\ r \ n'. Para un ejemplo, vea fprintf.