文档

将数据写入文本文件

语法

fprintf(文件ID、formatSpec、A1、…、An)
fprintf(格式规范,A1,…,An)
nbytes =流(___)

描述

例子

fprintf(fileid.,formatSpec,A1,…,一个)应用formatSpec指向数组的所有元素A1,......一个并将数据写入文本文件。使用调用中指定的编码方案打开外部文件.

例子

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

例子

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

例子

全部崩溃

将多个数值和文本打印到屏幕上。

A1=[9.9900];A2=[8.8,7.7;...8800年,7700年);formatSpec ='X为%4.2f米或%8.3f毫米\n'; fprintf(格式规范A1、A2)
X为9.90米,或9900.000 mm x为8.80米或8800.000 mm x为7.70米或7700.000 mm

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

将带分数的双精度值显式转换为整数值。

a = [1.02 3.04 5.06];fprintf(“%d\n”,第(a)轮);
1 3 5

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

将指数函数的短表写入一个名为exp.txt.

x = 0: .1:1;一个= [x;exp (x)];文件标识= fopen (“exp.txt”,“w”);fprintf(文件ID,'%6s%12s \ n',“x”,‘exp(x)’);fprintf(文件ID,'%6.2f%12.8f \ n',);fclose(fileID);

第一次打电话给打印标题文本xexp (x),第二个调用打印变量中的值A..

如果您计划使用Microsoft读取该文件®记事本,用“\r\n”而不是“\n”移动到新的行。例如,替换对的调用以下是:

fprintf(文件ID,% 6 s % 12年代\ r \ n”,“x”,‘exp(x)’);fprintf(文件ID,'%6.2f%12.8f \ r \ n',);

MATLAB®导入功能,所有UNIX®应用程序和Microsoft Word和WordPad识别“\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.70 2.01375271 0.80 2.22554093 0.90 2.45960311 2.71828183

将数据写入文件并返回写入的字节数。

写一个数据数组,A.,并获取该文件的字节数写道。

a =魔术(4);文件标识= fopen (“myfile.txt”,“w”); nbytes=fprintf(文件ID,'%5d%5d%5d%5d \ n',A)
nbytes = 96

这个功能将96个字节写入文件。

关闭文件。

fclose(fileID);

使用类型命令。

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

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

URL =.“//www.tatmou.com”;SitEname ='Mathworks网站'; fprintf(%s\n”,url,站点名称)

%在里面formatSpec输入表示变量的值网址sitename,应打印为文本。

输入参数

全部崩溃

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

  • 获取的文件标识符打开外部文件.

  • 1.用于标准输出(屏幕)。

  • 2.标准误差。

数据类型:

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

formatSpec可以是单引号中的字符向量,或者从R2016b开始的字符串标量。

格式化操作符

格式化操作符以百分号开始,%gydF4y2Ba,并以转换字符结尾。转换字符是必需的。或者,您可以指定标识符、标志、字段宽度、精度和子类型运算符%gydF4y2Ba和转换字符。(操作符之间的空格无效,此处仅为可读性而显示)。

转换字符

此表显示将数字和字符数据格式化为文本的转换字符。

值类型 转换 细节

整数,签署了

%d%我

以10为底的

整数,无符号

%u

以10为底的

%o

基数8(八进制)

%x

基地16(十六进制),小写字母A.F

%X

等同于%x,大写字母A.F

浮点数

%f

定点表示法(使用精密操作员指定小数点后的数字数。)

%e

指数符号,例如3.141593 e + 00(使用精确运算符指定小数点后的位数。)

%E

等同于%e,而是大写的,例如3.141593E+00(使用精确运算符指定小数点后的位数。)

%g

更紧凑的%e%f,后面没有零(使用精确运算符指定有效数字的数目。)

%G

更紧凑的%E%f,后面没有零(使用精确运算符指定有效数字的数目。)

字符或字符串

%c

单个字符

%

字符向量或字符串数组。的类型与输出文本的类型相同formatSpec.

可选的运营商

可选标识符、标志、字段宽度、精度和子类型运算符进一步定义输出文本的格式。

  • 标识符

    处理函数输入参数的顺序。使用语法N$,在那里N表示函数调用中其他输入参数的位置。

    例子:('%3$s %2$s %1$s %2$s','A','B','C')打印输入参数“一个”,“B”,“C”如下:c b a b.

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

  • 旗帜

    '–'

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

    '+'

    始终为任何数值打印符号字符(+或–)。
    例子:% + 5.2 f
    文本对齐。
    例子:% + 10 s

    ' '

    在值之前插入一个空格。
    例子:%5.2f

    '0'

    填充到字段的宽度,值前带零。
    例子:%05.2f

    “#”

    修改选定的数值转换:

    • 对于%o,%x,或%X,打印0,0 x,或0 x前缀。

    • 对于%f,%e,或%E,即使精度为0也打印小数点。

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

    例子:%#5.0f

  • 字段宽度

    要打印的最小字符数。字段宽度运算符可以是数字或星号(*)引用输入参数。

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

    除非标志另有指定,否则使用空格的字段宽度与空格。

  • 精确

    对于%f,%e,或%E

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

    对于%g%G

    有效位数
    例子:“% .4g”打印π作为'3.142'

    精度运算符可以是数字或星号(*)引用一个论点。

    例子:输入参数(“%6.4f”,π)相当于(“% *。*F', 6, 4, pi).

      注意:如果为超过输入数值数据类型精度的浮点值指定精度运算符,则结果可能与输入值不匹配,无法达到指定的精度。结果取决于您的计算机硬件和操作系统。

  • 亚型

    您可以使用子类型运算符将浮点值作为其八进制,十进制或十六进制值进行打印。子类型操作员在转换字符之前。此表显示了可以使用子类型的转换。

    输入值类型

    子类型和转换字符

    输出值类型

    浮点数

    %BX.% bX
    %博
    %bu ..

    双精度十六进制、八进制或十进制值
    例子:%BX.打印π作为400921FB54442D18

    %德克萨斯州%德克萨斯州
    %到
    %屠

    单精度十六进制、八进制或十进制值
    例子:%德克萨斯州打印π作为40490身上

格式化运算符之前或之后的文本

formatSpec也可以在百分号前包含额外的文本,%gydF4y2Ba,或在转换字符之后。文本可以是:

  • 普通文字打印。

  • 不能作为普通文本输入的特殊字符。中特殊字符的表示方法formatSpec.

    特殊字符

    代表

    单引号

    ''

    百分比的性格

    %%

    反斜杠

    \\

    报警

    \一种

    退格

    \ B.

    饲料

    \F

    新线

    \ n

    回车

    \ R.

    水平选项卡

    \

    垂直标签

    V.

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

    \xN

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

    其Unicode数值可由八进制数表示的字符,N

    \ n

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

使用格式运算符的转换的显着行为

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

  • 如果指定不适合数据的转换,例如数值的文本转换,MATLAB会覆盖指定的转换和使用%e.

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

  • 如果您应用文本转换(或者%c%)转换为整数值,MATLAB将有效字符码对应的值转换为字符。

    例子:'%s'转换[65 66 67]基础知识.

数据类型:char|字符串

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

数据类型:||int8|int16|INT32.|int64|uint8|uint16|uint32|uint64|符合逻辑的|char

输出参数

全部崩溃

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

提示

  • 读取函数的格式说明符sscanffscanf不同于编写函数的格式把格式数据写成串. 读取功能不支持精度字段。宽度字段指定写入的最小值,但指定读金宝app取的最大值。

参考

B. W. Kernighan和D. M. Ritchie,C语言,第二版,普伦蒂斯-霍尔公司,1988。

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

扩展功能

之前介绍过的R2006a

这个话题有用吗?