主要内容

写数据文本文件

描述

例子

流(文件标识,formatSpec,A1,…,一个)应用formatSpec所有元素的数组A1,…列顺序,并将数据写入一个文本文件。使用调用中指定的编码方案打开外部文件

例子

流(formatSpec,A1,…,一个)格式的数据并将结果显示在屏幕上。

例子

nbytes=流(___)返回的字节数写道,使用任何输入参数在前面的语法。

例子

全部折叠

打印多个数值和文字文本在屏幕上。

A1 = (9.9, 9900);A2 = [8.8, 7.7;8800年,7700年);formatSpec =“X % 4.2米或% 8.3 f mm \ n”;流(formatSpec A1, A2)
9.90米或9900.000毫米X 8.80米或8800.000毫米X 7.70米或7700.000毫米

% 4.2度formatSpec输入指定第一个值在每一行的输出是一个浮点数的字段宽度四位数,包括小数点后两位。% 8.3度formatSpec输入指定第二个值在每一行的输出是一个浮点数的字段宽度8位数,包括小数点后三位数。\ n是一个控制字符,开始一个新行。

显式双精度值和分数转换为整数值。

一个= (1.02 3.04 5.06);流(“% d \ n”而圆(a));
1 3 5

% dformatSpec输入输出中的每个值向量,轮(a)作为有符号整数。\ n是一个控制字符,开始一个新行。

写一个短的指数函数表到一个文本文件exp.txt

x = 0: .1:1;一个= [x;exp (x)];文件标识= fopen (“exp.txt”,' w ');流(文件标识,% 6 s % 12年代\ n,“x”,“exp (x)”);流(文件标识,“% 6.2 f % 12.8 f \ n”,);文件关闭(文件标识);

第一次调用打印标题文本xexp (x),第二个调用打印变量的值一个

如果你打算阅读文件微软®记事本,使用“\ r \ n”而不是' \ n '搬到一个新行。例如,更换要求用以下:

流(文件标识,% 6 s % 12年代\ r \ n”,“x”,“exp (x)”);流(文件标识,' % 6.2 f % 12.8 f \ r \ n”,);

MATLAB®导入功能,所有UNIX®应用程序和微软文字处理软件和写字板承认' \ n '作为一个换行符的指标。

查看文件的内容类型命令。

类型exp.txt
x exp (x) 0.00 1.00000000 0.10 1.10517092 0.20 1.22140276 0.30 1.34985881 0.40 1.49182470 0.50 1.64872127 0.60 1.82211880 0.70 2.01375271 0.80 2.22554093 0.90 2.45960311 1.00 2.71828183

写入数据到一个文件中,并返回的字节数。

写一个数据数组,一个,到一个文件的字节数写道。

一个=魔法(4);文件标识= fopen (“myfile.txt”,' w ');nbytes =流(文件标识,' % d % 5 d % 5 d % 5 d \ n ',)
nbytes = 96

函数写的96字节的文件。

关闭该文件。

文件关闭(文件标识);

查看文件的内容类型命令。

类型(“myfile.txt”)
16 5 9 4 2 7 11 14 3 10 6 15 13 8 12 1

显示超链接(MathWorks网站在屏幕上)。

url =“//www.tatmou.com”;sitename =“MathWorks网站”;流(' < a href = " % s " > % s < / > \ n '、url、sitename)

% sformatSpec输入显示变量的值urlsitename应该打印文本。

输入参数

全部折叠

文件标识符指定为以下之一:

数据类型:

输出的格式字段,使用格式指定操作符。formatSpec也可以包括普通文本和特殊字符。

如果formatSpec包括文字文本表示转义字符,例如\ n,然后翻译转义字符。

formatSpec可以在单引号字符向量,或者,从R2016b开始,一个字符串标量。

格式化操作符

一个格式化操作符从百分之一开始的信号,% gydF4y2Ba,以转换角色。转换字符是必需的。可选地,您可以指定标识、旗帜、字段宽度、精度和亚型之间的运营商% gydF4y2Ba和转换角色。(这里显示运营商和之间的空间是无效的可读性)。

转换字符

这个表显示转换字符格式化数字和字符数据为文本。

值类型 转换 细节

整数,签署了

% d%我

以10为底的

整数,无符号

% u

以10为底的

%啊

基数8(八进制)

% x

基地16(十六进制),小写字母一个- - - - - -f

% X

一样% x,大写字母一个- - - - - -F

浮点数

% f

定点表示法(使用精密操作符来指定小数点后位数。)

% e

指数的符号,如3.141593 e + 00(使用精密操作符来指定小数点后位数的数量。)

% E

一样% e,但大写,如3.141593 e + 00(使用精密操作符来指定小数点后位数的数量。)

% g

更紧凑的% e% f,没有尾随零(使用精密操作符指定数量的有效数字)。

% G

更紧凑的% E% f,没有尾随零(使用精密操作符指定数量的有效数字)。

字符或字符串

% c

单个字符

% s

特征向量数组或字符串。输出文本的类型是一样的类型formatSpec

可选的运营商

可选标识、旗帜、字段宽度精度,和亚型运营商进一步定义输出文本的格式。

  • 标识符

    订单处理函数输入参数。使用语法n美元,在那里n代表其他的位置输入参数的函数调用。

    例子:(“% 3 $ s % 2 $ s % 1 $ s % 2 $ s’,‘“,“B”,“C”)打印输入参数“一个”,“B”,“C”如下:C B B

    注意:如果一个输入参数是一个数组,您不能使用标识符来指定特定的输入参数的数组元素。

  • 旗帜

    “- - -”

    对齐。
    例子:% -5.2度
    例子:% -10年代

    “+”

    总是打印标志字符(+或-)数值。
    例子:% + 5.2 f
    文本对齐。
    例子:% + 10 s

    ' '

    插入一个空格前的值。
    例子:% 5.2度

    ' 0 '

    垫场宽度与零值。
    例子:% 05.2度

    “#”

    修改选择的数字转换:

    • %啊,% x,或% X、打印0,0 x,或0 x前缀。

    • % f,% e,或% E、打印精度小数点即使是0。

    • % g% G,不要删除尾随零或小数点。

    例子:% # 5.0度

  • 字段宽度

    最小数量的字符打印。字段宽度操作符可以是一个数字,或星号(*)指一个输入参数。

    当你指定*字段宽度运营商,其他输入参数必须提供一个宽度和一个值被打印出来。可以对参数或对宽度和值在一个数字数组。与*作为字段宽度操作符,您可以打印不同的价值观和不同的宽度。

    例子:输入参数(intmax ' % 12 d ')相当于(' % * d ', 12日intmax)

    例子:输入参数(' % * d ', [2 5 100)返回“100”,两个空间分配10和五个空间One hundred.。作为一种替代方法,您还可以指定字段宽度和多个参数值,如(' % * d ', 2, 10, 5100)

    函数前垫与空间字段宽度值,除非另有指定的标志。

  • 精度

    % f,% e,或% E

    数量的数字的小数点向右
    例子:“% .4f”打印π作为“3.1416”

    % g% G

    有效数字的数量
    例子:“% .4g”打印π作为“3.142”

    精密操作符可以是一个数字,或星号(*)指一个论点。

    当你指定*领域精密操作,另一个输入参数必须提供印刷精度和价值。可以对参数精度和价值观,或对一个数字数组。与*作为精密运算符,您可以打印不同的值不同的精度。

    当你指定* . *作为字段宽度和精度运营商,您必须指定字段宽度精度,和价值观是三胞胎。

    例子:输入参数(' % .4f ',π)相当于(' %。* f ' 4π)

    例子:输入参数(% 6.4 f,π)相当于(' % *。* f ', 6日4π)

    例子:输入参数(' % *。* f ', 6日4π,9日,6日,exp (1))返回3.1416 - 2.718282的,96的字段宽度和精度的输出实验(1)

    请注意

    如果你指定一个浮点值的精度算子的精度超过输入数字数据类型,结果可能不匹配的输入值指定的精度。结果取决于你的电脑硬件和操作系统。

  • 子类型

    您可以使用一个亚型运营商打印一个浮点值为八进制,十进制或十六进制值。子类型操作符之前立即转换角色。此表显示了转换,可以使用子类型。

    输入值类型

    亚型和转换字符

    输出值类型

    浮点数

    % bx% bX
    %博
    % bu

    双精度十六进制,八进制,十进制值
    例子:% bx打印π作为400921 fb54442d18

    % tx% tX
    %,
    %你

    单精度十六进制,八进制,十进制值
    例子:% tx打印π作为40490身上

文本格式化操作之前或之后

formatSpec还可以包括附加的文本签署前百分之一,% gydF4y2Ba后,或者转换角色。文本可以是:

  • 普通的文本打印。

  • 特殊字符不能输入作为普通文本。此表显示了如何代表特殊字符formatSpec

    特殊字符

    表示

    单引号

    百分比的性格

    % %

    反斜杠

    \ \

    报警

    、一个

    退格

    \ b

    换页

    \ f

    新行

    \ n

    回车

    r \

    水平选项卡

    \ t

    垂直制表符

    v \

    字符的Unicode®数值可以用十六进制数,N

    \ xN

    例子:sprintf (“\ x5A”)返回“Z”

    字符的Unicode数值可以用八进制数,N

    \ N

    例子:sprintf (\ 132 ')返回“Z”

引人注目的行为与格式转换操作符

  • 数字转换打印只有复数的实部。

  • 如果你指定一个不符合数据的转换,如文本转换为一个数字值,MATLAB覆盖指定的转换,和用途% e

    例子:' % s '转换π3.141593 e + 00

  • (如果你申请一个文本转换% c% s整数值,MATLAB值对应于有效的字符编码转换为字符。

    例子:' % s '转换(65 66 67)美国广播公司

数字或字符数组,指定为一个标量、向量,矩阵,或多维数组。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|字符

输出参数

全部折叠

的字节数,写道,作为一个标量返回。当写入一个文件,nbytes是由字符编码。当数据打印到屏幕上,nbytes是字符的数量显示在屏幕上。

提示

  • 格式说明符的阅读功能sscanffscanf不同的格式写功能sprintf。不支持一个精密领域阅读功能。金宝app为写作宽度字段指定一个最小,但最大的阅读。

  • 如果您指定一个无效的格式化操作符或特殊字符,然后打印所有文本无效操作符或性格和丢弃。

    例子:如果formatSpec“价值= % z ',然后打印“价值= '因为% z不是一个格式化操作。

    例子:如果formatSpec'字符\ x99999 = % s ',然后打印“性格”因为\ x99999不是一个有效的特殊字符。

引用

[1]克尼汉,b . W。d·m·里奇,C编程语言,第二版,新世纪,Inc ., 1988年。

[2]ANSI规范x3.159 - 1989:编程语言C, ANSI,百老汇1430号,纽约10018。

扩展功能

之前介绍过的R2006a