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)

执行上述matlab代码得到的结果为:

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

而如果我们改变一下数组会发现,实际上fprintf函数是将数组按照列来识别的,如下所示:

a1 = [8.8, 9.9; 8800, 7700; 7.7, 9900];
a2 = [8.8, 7.7, 9.9; 8800, 7700, 9900]
formatspec = 'x is %4.2f meters or %8.3f mm\n';
fprintf(formatspec,a1,a2)

得到运行结果为:

x is 8.80 meters or 8800.000 mm
x is 7.70 meters or    9.900 mm
x is 7700.00 meters or 9900.000 mm
x is 8.80 meters or 8800.000 mm
x is 7.70 meters or 7700.000 mm
x is 9.90 meters or 9900.000 mm

由以上可以看出当数组只有一行时,函数直接调用行元素,当数组有多行多列时,函数将数组按照列来处理,先处理第一列,然后第二列,以此类推。

fprintf函数是C语言标准库中stdio.h头文件提供的一个输出函数,它用于将格式化的数据输出到文件流中。fprintf函数的原型如下: ```c int fprintf(FILE *stream, const char *format, ...); ``` 参数说明: - `FILE *stream`:一个指向FILE对象的指针,该对象标识了要写入的文件流。可以是标准输出流stdout,也可以是其他通过fopen函数打开的文件流。 - `const char *format`:一个格式字符串,用于指定后续参数的转换格式。 - `...`:可变参数列表,包含与格式字符串中指定的格式相对应的数据项。 fprintf函数的工作方式类似于printf函数,区别在于fprintf将输出发送到指定的文件流而不是标准输出(stdout)。格式字符串中的每个格式说明符对应一个参数,并指示fprintf如何转换该参数。格式说明符的开头通常是一个百分号(%),后跟字符表示输出类型(如d、f、s等),可能还有修饰符和宽度等指定项。 返回值: - fprintf函数返回成功写入的字符数,或者在发生写入错误时返回一个负值。 使用示例: ```c #include <stdio.h> int main() { FILE *fp = fopen("output.txt", "w"); if (fp == NULL) { printf("无法打开文件\n"); return 1; } fprintf(fp, "整数: %d\n", 123); fprintf(fp, "浮点数: %f\n", 123.456); fprintf(fp, "字符串: %s\n", "Hello, World!"); fclose(fp); return 0; } ``` 在这个示例中,fprintf将整数、浮点数和字符串分别以指定格式写入到"output.txt"文件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值