fprintf 订阅
fprintf是C/C++中的一个格式化库函数,位于头文件中,其作用是格式化输出到一个流文件中;函数原型为int fprintf( FILE *stream, const char *format, [ argument ]...),fprintf()函数根据指定的格式(format),向输出流(stream)写入数据(argument)。 [1-2] 展开全文
fprintf是C/C++中的一个格式化库函数,位于头文件中,其作用是格式化输出到一个流文件中;函数原型为int fprintf( FILE *stream, const char *format, [ argument ]...),fprintf()函数根据指定的格式(format),向输出流(stream)写入数据(argument)。 [1-2]
信息
外文名
fprintf
头文件
功 能
传送格式化输出到一个文件中
中文名
fprintf
返回值
输出字符数
应    用
C语言编程
fprintffprintf语法形式
int fprintf (FILE* stream, const char*format, [argument])fprintf()函数根据指定的格式(format),向输出流(stream)写入数据(argument)。fprintf( )会根据参数format 字符串来转换并格式化数据,然后将结果输出到参数stream 指定的文件中,直到出现字符串结束('\0')为止。 [4] 
收起全文
精华内容
下载资源
问答
  • ),然后使用 fprintf 进行一些输出。 这很有用,例如在样式中替换计数器 i 的显示: fprintf('\r %f',i),因为 \r 格式在 windows 系统上不能正常工作。 输入是一个字符串 s 和一个变量 x,它们作为 fprintf(s,x) ...
  • 用于彩色和粗体命令窗口文本行的MATLAB fprintf函数的前端。 FCWLINES格式化的命令窗口(CW)行fprintf的前端。 特征: -彩色多行文字-加粗的多行文字 去做: -超链接。 依存关系: -com.mathworks软件包...
  • %function fmt = tablefmt(Wd,number) % jdc 2002 年 10 月 12 日%目的: % 构造用于打印指定的任意数字的格式% 字段宽度和精度,例如使用 fprintf %输入: % Wd - 字段宽度和精度(示例:12.3) % 注意:字段宽度...
  • fprintf用于文件,对于缓冲区使用sprintf,请记住类型转换是邪恶的。
  • Matlab中fprintf函数使用

    万次阅读 多人点赞 2020-12-15 08:56:51
    fprintf函数将数据写入文本文件。 语法 fprintf(fileID,formatSpec,A1,...,An) fprintf(formatSpec,A1,...,An) nbytes = fprintf(___) 说明 fprintf(fileID,formatSpec,A1,...,An)按列顺序将formatSpec应用于...

    目录

    说明

    示例

    输出字面文本和数组值

    将双精度值输出为整数

    将表格数据写入文本文件

    获取写入文件的字节数

    在命令行窗口中显示超链接


            fprintf函数将数据写入文本文件。

    fprintf(fileID,formatSpec,A1,...,An)
    
    fprintf(formatSpec,A1,...,An)
    
    nbytes = fprintf(___)

    说明

    fprintf(fileID,formatSpec,A1,...,An) 按列顺序将 formatSpec 应用于数组 A1,...An 的所有元素,并将数据写入到一个文本文件。fprintf 使用在对 fopen 的调用中指定的编码方案。

    fprintf(formatSpec,A1,...,An)设置数据的格式并在屏幕上显示结果。

    nbytes = fprintf(___)使用前述语法中的任意输入参数返回fprintf所写入的字节数。

    示例

    输出字面文本和数组值

            将多个数值和字面文本输出到屏幕。

    A1 = [9.9, 9900];
    A2 = [8.8,  7.7 ; ...
          8800, 7700];
    formatSpec = 'X is %4.2f meters or %8.3f mm\n';
    fprintf(formatSpec,A1,A2)
    X is 9.90 meters or 9900.000 mm
    X is 8.80 meters or 8800.000 mm
    X is 7.70 meters or 7700.000 mm

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

    将双精度值输出为整数

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

    a = [1.02 3.04 5.06];
    fprintf('%d\n',round(a));
    1
    3
    5

      formatSpec 输入中的 %d 将向量 round(a) 中的每个值作为有符号整数输出。\n 为新起一行的控制字符。

    将表格数据写入文本文件

            将指数函数的短表写入到名为 exp.txt 的文本文件。

    x = 0:.1:1;
    A = [x; exp(x)];
    
    fileID = fopen('exp.txt','w');
    fprintf(fileID,'%6s %12s\n','x','exp(x)');
    fprintf(fileID,'%6.2f %12.8f\n',A);
    fclose(fileID);

            第一个对 fprintf 的调用输出标题文本 x 和 exp(x),第二个调用输出变量 A 的值。

            如果打算使用 Microsoft® 记事本读取文件,请使用 '\r\n' 而不是 '\n' 移到新行。例如,将对 fprintf 的调用替换为下列项:

    fprintf(fileID,'%6s %12s\r\n','x','exp(x)');
    fprintf(fileID,'%6.2f %12.8f\r\n',A);

            MATLAB® 导入函数、所有 UNIX® 应用程序以及 Microsoft Word 和写字板都将 '\n' 识别为换行指示符。

            通过 type 命令查看文件的内容。

    type 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

    获取写入文件的字节数

            将数据写入文件并返回所写入的字节数。将数据数组 A 写入文件并获取 fprintf 所写入的字节数。 

    A = magic(4);
    
    fileID = fopen('myfile.txt','w');
    nbytes = fprintf(fileID,'%5d %5d %5d %5d\n',A)
    nbytes = 96

      fprintf 函数向文件中写入了 96 个字节。关闭文件。

    fclose(fileID);

            通过 type 命令查看文件的内容。

    type('myfile.txt')
       16     5     9     4
        2    11     7    14
        3    10     6    15
       13     8    12     1
    

    在命令行窗口中显示超链接

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

    url = 'https://www.mathworks.com';
    sitename = 'The MathWorks Web Site';
    
    fprintf('<a href = "%s">%s</a>\n',url,sitename)

      formatSpec输入中的%s指示变量urlsitename的值应作为文本输出。

    文件标识符,指定为下列值之一:

    • 从fopen获取的文件标识符。

    • 1 表示标准输出(屏幕)。

    • 2 表示标准错误。

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

    formatSpec可以是用单引号引起来的字符向量,从 R2016b开始,也可以是字符串标量。

    格式化操作符

            格式化操作符以百分号 % 开头,以转换字符结尾。转换字符是必需的。也可以在 % 和转换字符之间指定标识符、标志、字段宽度、精度和子类型操作符。(操作符之间的空格无效,在这里显示空格只是为了便于阅读。)

    转换字符

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

    值类型转换详细信息

    有符号整数

    %d 或 %i

    以 10 为基数

    无符号整数

    %u

    以 10 为基数

    %o

    以 8 为基数(八进制)

    %x

    以 16 为基数(十六进制),小写字母 af

    %X

    与 %x 相同,大写字母 AF

    浮点数

    %f

    定点记数法(使用精度操作符指定小数点后的位数。)

    %e

    指数记数法,例如 3.141593e+00(使用精度操作符指定小数点后的位数)。

    %E

    与 %e 相同,但为大写,例如 3.141593E+00(使用精度操作符指定小数点后的位数)。

    %g

    更紧凑的 %e 或 %f,不带尾随零(使用精度操作符指定有效数字位数。)

    %G

    更紧凑的 %E 或 %f,不带尾随零(使用精度操作符指定有效数字位数。)

    字符或字符串

    %c

    单个字符

    %s

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

    可选操作符

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

    标识符

            处理函数输入参数的顺序。使用语法 n$,其中n代表函数调用中其他输入参数的位置。

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

    标志

    '–'

    左对齐。
    示例:%-5.2f
    示例:%-10s

    '+'

    始终为任何数值输出符号字符(+ 或 –)。
    示例:%+5.2f
    右对齐文本。
    示例:%+10s

    ' '

    在值之前插入空格。
    示例:% 5.2f

    '0'

    在值之前补零以填充字段宽度。
    例如:%05.2f

    '#'

    修改选定的数值转换:

    • 对于 %o%x 或 %X,将输出 00x 或 0X 前缀。

    • 对于 %f%e 或 %E,即使精度为零也将输出小数点。

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

    示例:%#5.0f

    字段宽度

            要输出的最低字符数。字段宽度操作符可以是数字,也可以是指向输入参数的星号 (*)。

            当将 * 指定为字段宽度操作符时,其他输入参数必须指定打印宽度和要打印的值。宽度和值可以是参数对组,也可以是数值数组中的对组。使用 * 作为字段宽度操作符时,可以打印具有不同宽度的不同值。

            除非标志另行指定,否则该函数使用空格填充值之前的字段宽度。

    精度

    对于 %f%e 或 %E

    小数点右侧的位数
    示例:'%.4f' 将 pi 输出为 '3.1416'

    对于 %g 或 %G

    有效位数
    示例:'%.4g' 将 pi 输出为 '3.142'

            精度操作符可以是数字,也可以是指向参数的星号 (*)。

            当将 * 指定为字段精度操作符时,其他输入参数必须指定打印精度和要打印的值。精度和值可以是参数对组,也可以是数值数组中的对组。使用 * 作为精度操作符时,可以打印具有不同精度的不同值。

            将 *.* 指定为字段宽度和精度操作符时,必须以三元组形式指定字段宽度、精度和值。

            注意:如果为浮点值指定的精度操作符所表示的精度超出输入数值数据类型的精度,则在指定精度内,结果与输入值可能不匹配。结果取决于计算机硬件和操作系统。

    子类型

            可以使用子类型操作符将浮点值显示为八进制、十进制或十六进制值。子类型操作符紧邻转换字符之前。此表显示了可使用子类型的转换。

    输入值类型

    子类型和转换字符

    输出值类型

    浮点数

    %bx 或 %bX
    %bo
    %bu

    双精度十六进制、八进制或十进制值
    例如:%bx 将 pi 输出为 400921fb54442d18

    %tx 或 %tX
    %to
    %tu

    单精度十六进制、八进制或十进制值
    例如:%tx 将 pi 输出为 40490fdb

    格式化操作符前或后的文本

    formatSpec还可以在百分号 % 前添加其他文本,或者在转换字符后添加其他文本。文本可以为:

    • 要打印的普通文本。

    • 无法作为普通文本输入的特殊字符。此表显示了如何在 formatSpec 中表示特殊字符。

      特殊字符

      表示形式

      单引号

      ''

      百分比字符

      %%

      反斜杠

      \\

      警报

      \a

      退格符

      \b

      换页符

      \f

      换行符

      \n

      回车符

      \r

      水平制表符

      \t

      垂直制表符

      \v

      其 Unicode® 数值可以通过十六进制数 N 表示的字符

      \xN

      示例:sprintf('\x5A') 返回 'Z'

      其 Unicode 数值可以通过八进制数 N 表示的字符

      \N

      示例:sprintf('\132') 返回 'Z'

    使用格式化操作符进行转换时要注意的行为

    • 数值转换仅输出复数的实部。

    • 如果指定不适合数据的转换(例如数值的文本转换),MATLAB 将改写指定的转换并使用 %e

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

    提示

    • 读取函数 sscanf 和 fscanf 的格式设定符不同于写入函数sprintf 和 fprintf 的格式。读取函数不支持精度字段。宽度字段在写入函数中指定最小值,但在读取函数中指定最大值。

    展开全文
  • fprintf

    千次阅读 2019-01-16 18:47:41
    划水自我探索的第一天 卑微果莹 #include &amp;amp;amp;lt;stdio.h&amp;amp;amp;gt; #include &amp;amp;amp;lt;stdlib.h&amp;amp;amp;gt; int main() { char ch = NULL;...amp

    自我探索的一天
    果莹

    #include <stdio.h>
    #include <stdlib.h> 
    
    int main() {
    	
    	char ch = NULL; //存放用户写入的字符 
    	char filename[50]; //文件名 
    	FILE *fp = NULL; //指向用户写入字符的文件 
    	
    	printf("请输入新文件名称(带后缀):");
    	scanf("%s",&filename); 
    	fp = fopen(filename,"w");
    	if(!fp){
    		printf("文件打开失败!");
    		exit(0); 
    	} 
    	printf("请输入字符,以“#”表示结束输入!\n ");
    	scanf("%c",&ch);
    	while(ch!='#'){
    		fputc(ch,fp);
    		scanf("%c",&ch);
    	} 
    	fclose(fp);
    	
    	return 0;
    	
    }
    

    r 打开只读文件,该文件必须存在。

    r+ 打开可读写的文件,该文件必须存在。

    rb+ 读写打开一个二进制文件,只允许读写数据。

    rt+ 读写打开一个文本文件,允许读和写。

    w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。

    w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。

    a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)

    a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)

    wb 只写打开或新建一个二进制文件;只允许写数据。

    wb+ 读写打开或建立一个二进制文件,允许读和写。

    wt+ 读写打开或着建立一个文本文件;允许读写。

    at+ 读写打开一个文本文件,允许读或在文本末追加数据。

    ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。

    上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限,此文件权限也会参考umask 值。

    有些C编译系统可能不完全提供所有这些功能,有的C版本不用"r+",“w+”,“a+”,而用"rw",“wr”,"ar"等,读者注意所用系统的规定。

    展开全文
  • MATLAB之fprintf

    万次阅读 多人点赞 2018-11-06 09:56:27
    参照...fprintf 将数据写入文本文件 语法 fprintf(fileID,formatSpec,A1,...,An) fprintf(formatSpec,A1,...,An) nbytes = fprintf(___) 说明 fprintf(fi...

    参照https://ww2.mathworks.cn/help/matlab/ref/fprintf.html?s_tid=doc_ta

    fprintf

    将数据写入文本文件

    语法

    fprintf(fileID,formatSpec,A1,...,An)

    fprintf(formatSpec,A1,...,An)

    nbytes = fprintf(___)

    说明

    fprintf(fileID,formatSpec,A1,...,An) 按列顺序将 formatSpec 应用于数组 A1,...An 的所有元素,并将数据写入到一个文本文件。fprintf 使用在对 fopen 的调用中指定的编码方案。

    fprintf(formatSpec,A1,...,An) 设置数据的格式并在屏幕上显示结果。

    nbytes = fprintf(___) 使用前述语法中的任意输入参数返回 fprintf 所写入的字节数。

    示例

    输出字面文本和数组值

    将多个数值和字面文本输出到屏幕。

    A1 = [9.9, 9900];
    A2 = [8.8,  7.7 ; ...
          8800, 7700];
    formatSpec = 'X is %4.2f meters or %8.3f mm\n';
    fprintf(formatSpec,A1,A2)
    X is 9.90 meters or 9900.000 mm
    X is 8.80 meters or 8800.000 mm
    X is 7.70 meters or 7700.000 mm
    

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

    将双精度值输出为整数

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

    a = [1.02 3.04 5.06]; 
    fprintf('%d\n',round(a));
    1
    3
    5
    

    formatSpec 输入中的 %d 将向量 round(a) 中的每个值作为有符号整数输出。\n 为新起一行的控制字符。

    将表格数据写入文本文件

    将指数函数的短表写入到名为 exp.txt 的文本文件。

    x = 0:.1:1; 
    A = [x; exp(x)]; 
    
    fileID = fopen('exp.txt','w'); 
    fprintf(fileID,'%6s %12s\n','x','exp(x)'); 
    fprintf(fileID,'%6.2f %12.8f\n',A); 
    fclose(fileID);

    第一个对 fprintf 的调用输出标题文本 xexp(x),第二个调用输出变量 A 的值。

    如果打算使用 Microsoft® 记事本读取文件,请使用 '\r\n' 而不是 '\n' 移到新行。例如,将对 fprintf 的调用替换为下列项:

    fprintf(fileID,'%6s %12s\r\n','x','exp(x)'); 
    fprintf(fileID,'%6.2f %12.8f\r\n',A);

    通过 type 命令查看文件的内容。

    type 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

    获取写入文件的字节数

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

    将数据数组 A 写入文件并获取 fprintf 所写入的字节数。

    A = magic(4); 
    fileID = fopen('myfile.txt','w'); 
    
    nbytes = fprintf(fileID,'%5d %5d %5d %5d\n',A)
    nbytes = 96
    

    fprintf 函数向文件中写入了 96 个字节。

    关闭文件。

    fclose(fileID);

    通过 type 命令查看文件的内容。

    type('myfile.txt')
       16     5     9     4
        2    11     7    14
        3    10     6    15
       13     8    12     1
    

    在命令行窗口中显示超链接

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

    url = 'https://www.mathworks.com'; 
    sitename = 'The MathWorks Web Site'; 
    fprintf('<a href = "%s">%s</a>\n',url,sitename)

    formatSpec 输入中的 %s 指示变量 urlsitename 的值应作为文本输出。

    输入参数

    fileID - 文件标识符
    1 (默认) | 2 | 标量

    文件标识符,指定为下列值之一:

    • fopen 获取的文件标识符。

    • 1 表示标准输出(屏幕)。

    • 2 表示标准错误。

    数据类型: double

    formatSpec - 输出字段的格式
    格式化操作符

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

    formatSpec 可以是用单引号引起来的字符向量,从 R2016b 开始,也可以是字符串标量。

    格式化操作符

    格式化操作符以百分号 % 开头,以转换字符结尾。转换字符是必需的。您也可以在 % 和转换字符之间指定标识符、标志、字段宽度、精度和子类型操作符。(操作符之间的空格无效,在这里显示空格只是为了便于阅读。)

    转换字符

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

    值类型转换详细信息

    有符号整数

    %d%i

    以 10 为基数

    无符号整数

    %u

    以 10 为基数

    %o

    以 8 为基数(八进制)

    %x

    以 16 为基数(十六进制),小写字母 af

    %X

    %x 相同,大写字母 AF

    浮点数

    %f

    定点记数法(使用精度操作符指定小数点后的位数。)

    %e

    指数记数法,例如 3.141593e+00(使用精度操作符指定小数点后的位数)。

    %E

    %e 相同,但为大写,例如 3.141593E+00(使用精度操作符指定小数点后的位数)。

    %g

    更紧凑的 %e%f,不带尾随零(使用精度操作符指定有效数字位数。)

    %G

    更紧凑的 %E%f,不带尾随零(使用精度操作符指定有效数字位数。)

    字符或字符串

    %c

    单个字符

    %s

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

    可选操作符

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

    • 标识符

      处理函数输入参数的顺序。使用语法 n$,其中 n 代表函数调用中其他输入参数的位置。

      示例:('%3$s %2$s %1$s %2$s','A','B','C') 将输入参数 'A''B''C' 输出为:C B A B

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

    • 标志

      '–'

      左对齐。
      示例:%-5.2f
      示例:%-10s

      '+'

      始终为任何数值输出符号字符(+ 或 –)。
      示例:%+5.2f
      右对齐文本。
      示例:%+10s

      ' '

      在值之前插入空格。
      示例:% 5.2f

      '0'

      在值之前补零以填充字段宽度。
      例如:%05.2f

      '#'

      修改选定的数值转换:

      • 对于 %o%x%X,将输出 00x0X 前缀。

      • 对于 %f%e%E,即使精度为零也将输出小数点。

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

      示例:%#5.0f

    • 字段宽度

      要输出的最低字符数。字段宽度运算符可以是数字,也可以是指向输入参数的星号 (*)。

      示例:输入参数 ('%12d',intmax) 等效于 ('%*d', 12, intmax)

      除非标志另行指定,否则该函数使用空格填充值之前的字段宽度。

    • 精度

      对于 %f%e%E

      小数点右侧的位数
      示例:'%.4f'pi 输出为 '3.1416'

      对于 %g%G

      有效位数
      示例:'%.4g'pi 输出为 '3.142'

      精度操作符可以是数字,也可以是指向参数的星号 (*)。

      示例:输入参数 ('%6.4f', pi) 等效于 ('%*.*f', 6, 4, pi)

      注意

      如果您为浮点值指定的精度操作符所表示的精度超出输入数值数据类型的精度,则在指定精度内,结果与输入值可能不匹配。结果取决于您的计算机硬件和操作系统。

    • 子类型

      可以使用子类型操作符将浮点值显示为八进制、十进制或十六进制值。子类型操作符紧邻转换字符之前。此表显示了可使用子类型的转换。

      输入值类型

      子类型和转换字符

      输出值类型

      浮点数

      %bx%bX
      %bo
      %bu

      双精度十六进制、八进制或十进制值
      例如:%bxpi 输出为 400921fb54442d18

      %tx%tX
      %to
      %tu

      单精度十六进制、八进制或十进制值
      例如:%txpi 输出为 40490fdb

    格式化操作符前或后的文本

    formatSpec 还可以在百分号 % 前添加其他文本,或者在转换字符后添加其他文本。文本可以为:

    • 要打印的普通文本。

    • 您无法作为普通文本输入的特殊字符。此表显示了如何在 formatSpec 中表示特殊字符。

      特殊字符

      表示形式

      单引号

      ''

      百分比字符

      %%

      反斜杠

      \\

      警报

      \a

      退格符

      \b

      换页符

      \f

      换行符

      \n

      回车符

      \r

      水平制表符

      \t

      垂直制表符

      \v

      其 Unicode® 数值可以通过十六进制数 N 表示的字符

      \xN

      示例:sprintf('\x5A') 返回 'Z'

      其 Unicode 数值可以通过八进制数 N 表示的字符

      \N

      示例:sprintf('\132') 返回 'Z'

    使用格式化操作符进行转换时要注意的行为

    • 数值转换仅输出复数的实部。

    • 如果指定不适合数据的转换(例如数值的文本转换),MATLAB 将改写指定的转换并使用 %e

      示例:'%s'pi 转换为 3.141593e+00

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

      示例:'%s'[65 66 67] 转换为 ABC

    数据类型: char | string

    A1,...,An - 数值数组或字符数组
    标量 | 向量 | 矩阵 | 多维数组

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

    数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char

    输出参数

    nbytes - 字节数
    标量

    fprintf 所写入的字节数,作为标量返回。在写入文件时,nbytes 由字符编码所决定。向屏幕输出数据时,nbytes 是屏幕上显示字符的个数。

    提示

    • 读取函数 sscanffscanf 的格式设定符不同于写入函数 sprintffprintf 的格式。读取函数不支持精度字段。宽度字段在写入函数中指定最小值,但在读取函数中指定最大值。

    展开全文
  • fprintf函数向标准输出流写入中文句子,但运行结果输出的是乱码!! 代码如下: <code class="language-cpp">#include<stdio.h> #include<string.h> int main() { char ...
  • fprintf类函数

    2015-03-04 14:46:56
    printf是标准输出流的输出函数,用来向屏幕这样的标准输出设备输出,而fprintf则是向文件输出,将输出的内容输出到硬盘上的文件或是相当于文件的设备上
  • PHP fprintf() 函数 实例 把一些文本写入到名为 “test.txt” 的文本文件: <?...$number = 9; $str = Beijing;...$file = fopen(...echo fprintf($file,There are %u million bicycles in ...fprintf()函数把格式化的字
  • 一.fprintf 函数简介 二.fprintf 函数使用 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.fprintf 函数简介 fprintf 是 C / C++ 中的一个格式化库函数,位于头文件 中,其...

    目录

    零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门

    一.fprintf 函数简介

    fprintfC / C++ 中的一个格式化库函数,位于头文件 中,其作用是格式化输出到一个流文件中;函数原型为

    /*
    *描述:fputs 函数是向指定的文件写入一个字符串
    *
    *参数:
    *   [in]  stream: 文件指针句柄;
    *   [in]  format: 格式化字符串,与 printf 函数一样;
    *
    *返回值:如果成功,该函数返回一个非负值,如果发生错误则返回 EOF(-1)。
    */
    
    int fprintf (FILE* stream, const char*format, [argument]);
    

    fprintf 函数是变参函数,format 可以由一个或者多个参数构成,案例如下:

    //示例:
    fprintf(stream,"www.codersrc.com\n");
    fprintf(stream,"www.codersrc.com age:%d\n",17);
    fprintf(stream,"www.codersrc.com age:%d name:%s\n",17, "zhangsan");
    fprintf(stream,"www.codersrc.com age:%d name:%s height:%f\n",17, "zhangsan",1.75);
    

    二.fprintf 函数使用

    /******************************************************************************************/
    //@Author:猿说编程
    //@Blog(个人博客地址): www.codersrc.com
    //@File:C语言教程 - C语言 fprintf 函数
    //@Time:2021/07/30 07:30
    //@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
    /******************************************************************************************/
    
    
    #include <cstdio>
    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
        //Initialize the file pointer
        FILE *f;
        char ch[100];
    
        // open the file for read and write operation
        if((f=fopen("test.txt","r+"))==NULL){
            //if the file does not exist print the string
            printf("Cannot open the file...");
            exit(1);
        }
    
        for(int i=0;i<10;i++){
            //enter the strings with values in the file
            fprintf(f,"The count number is %d\n",i+1);
        }
        fclose(f);
    
        // open the file for read and write operation
        if((f=fopen("test.txt","r+"))==NULL){
            //if the file does not exist print the string
            printf("Cannot open the file...");
            exit(1);
        }
    
        printf("File content is--\n");
        printf("\n...............print the strings..............\n\n");
        while(!feof(f)){
            //takes the first 100 character in the character array
            fgets(ch,100,f);
            //and print the strings
            printf("%s",ch);
        }
        //close the file
        fclose(f);
    
        return 0;
    }
    

    通过 fprintf 函数将数据写入到文件中,在通过 fgets 函数读取文件的每一行数据;

    三.猜你喜欢

    1. C 语言 数组下标越界和内存溢出区别
    2. C 语言 使用指针遍历数组
    3. C 语言 指针和数组区别
    4. C 语言 指针数组和数组指针区别
    5. C 语言 野指针
    6. C 语言 函数值传递和址传递
    7. C 语言 函数不定长参数
    8. C 语言 函数指针
    9. C 语言 指针函数
    10. C 语言 回调函数 callback
    11. C 语言 #pragma once
    12. C 语言 #include <> 与 #include “” 区别
    13. C 语言 const 修饰函数参数
    14. C 语言 const 和 define 区别
    15. C 语言 #运算符
    16. C 语言 ##运算符
    17. C 语言 __VA_ARGS__
    18. C 语言 ##__VA_ARGS__
    19. C 语言 函数不定长参数 ##__VA_ARGS__经典案例
    20. C 语言 va_start / va_end / va_arg 自定义 printf 函数
    21. C 语言 main 函数
    22. C 语言 main 函数参数 main(int argc, char *argv[])
    23. C 语言 局部变量
    24. C 语言 全局变量
    25. C 语言 全局变量和局部变量区别
    26. C 语言 static
    27. C 语言 extern

    未经允许不得转载:猿说编程 » C 语言 fprintf 函数

    展开全文
  • Linux fprintf的用法

    千次阅读 2019-10-14 09:40:15
    一、fprintf 函数描述 fprintf其作用是格式化打印,也叫格式化输出,可以指定输出到一个流文件中,即相输出流中写入数据。fprintf()函数根据指定的格式(format),向输出流(stream)写入数据(argument)。fprintf( )会...
  • c语言中fprintf函数 C中的fprintf()函数 (fprintf() function in C) Prototype: 原型: int fprintf(FILE *filename, const char *string, . . . .); Parameters: 参数: FILE *filename, const char *...
  • Printf、Sprintf、Fprintf区别 格式化输出示例 Printf详解 格式字符串 旗标 宽度和精度 arg 索引 动词 通用动词 布尔型 整型 浮点型和复数型 字符串或字节切片 指针类型 复合类型 Printf、Sprintf、...
  • FAPPENDL(FID, ARG1, ARG2, ...) 与FPRINTF(FID,'%s \ n',[ARG1,'',ARG2,'',...]),因此提供了将行写入文件的直观语法。 当你需要的只是写作文件的单行,由 FPRINTF 提供的原始语法变为相当麻烦。 最好的...
  • fprintf()函数

    千次阅读 2019-11-19 09:50:00
    fprintf()函数 格式化输出函数:带格式的向文件中写入数据 */ File *fp; //第一步:打开文件 fp=fopen("file.txt","w"); //第二步: fprintf(fp,"%d\t%d",1,11,); //第三步:关闭文件 fclose(fp); ...
  • num2str(3.15, 2) mat2str(3.15, 2) fprintf('%1.2g\n', 3.15) sprintf('%1.2g\n', 3.15) 给出 3.1 而不是 3.2 而输入 3.75 给出 3.8。 sigfig(3.15, 2) 给出“3.2” sigfig(3.75, 2, []) 给出“3.8e+0”
  • fprintf()和fscanf()函数

    2015-09-20 11:14:36
    printf()和fscanf()函数
  • golang 库函数 fmt.Fprintf

    2021-11-02 16:38:50
    https://www.geeksforgeeks.org/fmt-fprintf-function-in-golang-with-examples/ In Go language, fmt package implements formatted I/O with ... The fmt.Fprintf() function in Go language formats according to a
  • scanf和fpintf是一对,用fprintf写的必须用fscanf来读。 fread和fwrite是一对,用fwrite写的必须用fread来读。 同样的数据,使用fprintf和fwrite写下去的是不一样的,但是使用其相应的读命令读上来的数据会是一样...
  • Fwrite和fprintf之间的区别(总结)

    千次阅读 2019-10-31 16:54:03
    最近,在工作中,要做一个...即使进行转换,文本文件中,仍然有很多乱码,但是使用函数fprintf写入却不会出现上面的问题。 一、 fwrite函数介绍 size_t fwrite(const void* buffer, size_t size, size_t count, FI...
  • 文件操作哈数:fprintf和fscanf 看到这个函数名,大家可能会很快的联想到printf和scanf函数,printf和scanf是格式化读写函数,fprintf和fscanf与printf和scanf函数的作用相似,它们的区别在于读写的对象不同,...
  • fprintf中的转换说明符

    2020-11-23 16:56:58
    %a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99中具有的功能) %c 输出一个字符 %d 有符号十进制整数(正数不输出符号) %f 以小数形式输出单、双精度实数 %e(%E) 以指数形式输出单、双精度实数 ...
  • C语言fscanf和fprintf函数的用法详解

    千次阅读 多人点赞 2020-02-28 15:04:07
    fscanf() 和 fprintf() 函数与前面使用的 scanf() 和 printf() 功能相似,都是格式化读写函数,两者的区别在于 fscanf() 和 fprintf() 的读写对象不是键盘和显示器,而是磁盘文件。 这两个函数的原型为: int fscanf...
  • C语言之文件读写——fscanf(),fprintf()详解

    千次阅读 多人点赞 2020-07-06 10:34:45
    原型:fprintf(FILE *fp, const char *format, agars) fprintf()和fscanf()相对应,其用法也基本和fscanf()相同。具体参照以下示例: #include #include int main() { FILE *fp; fp = fopen("test.txt","a+"); ...
  • fprintf()、sprintf()、printf()、fwrite()函数的用法与区别 1: fprintf()函数主要用于格式化信息输出到指定的文件流中 返回值:成功则返回输出的字节数,失败返回eof; #include <stdio.h> int ...
  • fprintf()函数相关说明

    万次阅读 多人点赞 2019-02-23 14:43:45
    fprintf()用于文件操作 #include &lt;stdio.h&gt; int fprintf( FILE *stream, const char *format, ... ); fprintf()函数根据指定的format(格式)发送信息(参数)到由stream(流)指定的文件.因此fprintf...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 130,677
精华内容 52,270
关键字:

fprintf