Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
fopen(';text.txt';,';wt';)在MATLAB中的含义是什么?_Matlab_Syntax - Fatal编程技术网

fopen(';text.txt';,';wt';)在MATLAB中的含义是什么?

fopen(';text.txt';,';wt';)在MATLAB中的含义是什么?,matlab,syntax,Matlab,Syntax,我尝试了帮助fopen 但是没有解释t的含义。从PHP文档中窃取[是的,这是一种不同的语言,但我们讨论的是filemode参数,因此它应该没有任何不同] Windows提供文本模式翻译 标记('t'),它将透明地 使用时将\n转换为\r\n 档案。相比之下,您还可以 使用“b”强制二进制模式,该模式 不会翻译您的数据。使用 这些标志指定“b”或“t” 作为模式的最后一个字符 参数 同样,为了便于携带,它也是 强烈建议您重新编写 使用或依赖“t”的代码 模式,以便使用正确的行 改为结尾和“b”模

我尝试了帮助fopen


但是没有解释
t
的含义。

从PHP文档中窃取[是的,这是一种不同的语言,但我们讨论的是filemode参数,因此它应该没有任何不同]

Windows提供文本模式翻译 标记('t'),它将透明地 使用时将\n转换为\r\n 档案。相比之下,您还可以 使用“b”强制二进制模式,该模式 不会翻译您的数据。使用 这些标志指定“b”或“t” 作为模式的最后一个字符 参数

同样,为了便于携带,它也是 强烈建议您重新编写 使用或依赖“t”的代码 模式,以便使用正确的行 改为结尾和“b”模式


它与PHP和其他语言类似,因为
t
代表“文本”模式;但是,意思有点不同

在MATLAB中,如果以文本模式打开一个文件,在处理或操作行之前,它会从输入中去除行尾,然后读取它们以供输出;用a
b
表示的二进制模式不执行这样的换行剥离

请参阅文档中的。

(R2009a,Windows):

在UNIX系统上,二进制和文本模式 都是一样的

在Windows系统上,二进制和文本 模式不同。如果你不确定 哪种模式最适合您的文件,请使用 二进制模式。默认情况下,
fopen
打开 用于二进制读取访问的文件

在二进制模式下,读和写 操作处理中的所有字符 同样的方式。在文本模式下:

  • 读取遇到回车符后跟换行符的操作 字符删除回车符 从输入

  • 写入操作在中的任何换行符之前插入回车符 输入

UNIX版本(R2009b)继续添加(在
doc fopen
中):

为了获得更好的性能,请不要使用文本模式

要以文本模式打开文件,请将字母“t”附加到权限,例如“rt”或“wt+”。为了获得更好的性能,请不要使用文本模式。以下内容适用于文本模式下的Windows系统:

  • 遇到回车符后跟换行符('\r\n')的读取操作将从输入中删除回车符

  • 写入操作在输出中的任何换行符之前插入回车符


在大多数情况下,这种附加处理是不必要的。所有MATLAB导入函数和大多数文本编辑器(包括Microsoft Word和写字板)都将“\r\n”和“\n”识别为换行符序列。但是,当您创建用于Microsoft记事本的文件时,请在每行末尾加上“\r\n”。例如,请参见fprintf。

不完全-MATLAB将文本模式视为“从输入中删除换行符”。参见,它的意思是
文本
翻译
,哪一个?在线文档()有更多解释-向下扫描到“权限”部分。因此文本模式仅在windows中起作用?您能否详细说明它是如何影响的“从输入中删除换行符“?我认为将尾部和头部连接在一起会导致错误。文本模式会导致Windows系统上的任何
\r\n
实例在读取时被替换为简单的
\n
,而写入操作则相反。”。我提供的文件暗示了这一点;@mtrw提供的那些文件明确规定了这一点。它只在Windows中起作用,
\r
字符(回车符,或
CR
)通常只出现在“Windows样式”的行尾(由
\r\n
CRLF
组成)。Unix行尾仅包含一个
\n
(换行符或
LF
)。文本模式在任何地方都“有效”——在Unix平台的上下文中谈论它是没有意义的。