巧合我发现,disp(fprintf())
打印了fprintf的字符串加上它拥有的字符数。我知道,disp()
是可以减少的,但出于纯粹的好奇心,我想知道,为什么它会打印字符数,因为这可能实际上有用了一天。
例如
disp(fprintf('Hi %i all of you',2))
结果
大家好,你们所有人15
答案 0 :(得分:11)
问题中提到的特定行为的原因是使用存储变量调用FILEprintf fprintf
:
nbytes = fprintf(___)
使用前面语法中的任何输入参数返回fprintf
写入的字节数。
所以会发生disp(fprintf(...))
首先根据fprintf
打印文本而没有存储变量,但disp
只能看到fprintf
的存储变量,这是字符串的字节数,因此是输出。
另外,如果要显示字符串,则需要STRINGprintf:sprintf
:
disp(sprintf('Hi %i all of you',2))
Hi 2 all of you
文档告诉我的是sprintf
专门用于字符串格式化,您可以将其用于向图表添加文本,设置顺序文件名等,同时fprintf
写入文本文件。
str = sprintf(formatSpec,A1,...,An)
按列顺序根据A1
格式化数组An
,...,formatSpec
中的数据,并将结果返回给字符串str
中指定的编码方案
fprintf(fileID,formatSpec,A1,...,An)
按列顺序将formatSpec
应用于数组A1
,...An
的所有元素,并将数据写入文本文件。fprintf
使用调用fopen
。
fprintf(formatSpec,A1,...,An)
格式化数据并在屏幕上显示结果。
要在屏幕上显示文字,disp(sprintf())
或fprintf
相同,但如果您想将结果存储在字符串中,则必须使用sprintf
并且如果要编写它在文本文件中,您必须使用fprintf
。
答案 1 :(得分:7)
在fprintf
上的文档中,您会看到<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="@dimen/custom_tab_layout_height"
app:tabMode="scrollable"
app:tabGravity="fill"/>
的输出是打印的字节数。因此,fprintf
正在打印fprintf
,而Hi 2 all of you
正在打印disp
返回的15。