disp(fprintf()) 打印 fprintf 和字符数。为什么?
disp(fprintf()) prints the fprintf and the number of characters. Why?
巧合的是,我发现 disp(fprintf())
打印了 fprintf 的字符串加上它所具有的字符数。我知道,disp()
是多余的,但出于纯粹的好奇心,我想知道为什么它会打印字符数,因为这可能有一天真的有用。
例如
disp(fprintf('Hi %i all of you',2))
结果
Hi 2 all of you 15
在 fprintf
上的文档中,您看到 fprintf
的输出是打印的字节数。所以在这里,fprintf
正在打印 Hi 2 all of you
而 disp
正在打印 fprintf
.
返回的 15
问题中提到的特定行为的原因是使用存储变量调用 FILEprintf fprintf
:
nbytes = fprintf(___)
returns the number of bytes that fprintf
writes, using any of the input arguments in the preceding syntaxes.
那么发生的事情是 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)
formats the data in arrays A1
,...,An
according to formatSpec
in column order, and returns the results to string str
.
fprintf(fileID,formatSpec,A1,...,An)
applies the formatSpec
to all elements of arrays A1
,...An
in column order, and writes the data to a text file. fprintf
uses the encoding scheme specified in the call to fopen
.
fprintf(formatSpec,A1,...,An)
formats data and displays the results on the screen.
因此 disp(sprintf())
或 fprintf
对于在屏幕上显示文本是相等的,但是如果你想将结果存储在一个字符串中你必须使用 sprintf
并且如果你想将其写入您必须使用的文本文件 fprintf
.
巧合的是,我发现 disp(fprintf())
打印了 fprintf 的字符串加上它所具有的字符数。我知道,disp()
是多余的,但出于纯粹的好奇心,我想知道为什么它会打印字符数,因为这可能有一天真的有用。
例如
disp(fprintf('Hi %i all of you',2))
结果
Hi 2 all of you 15
在 fprintf
上的文档中,您看到 fprintf
的输出是打印的字节数。所以在这里,fprintf
正在打印 Hi 2 all of you
而 disp
正在打印 fprintf
.
问题中提到的特定行为的原因是使用存储变量调用 FILEprintf fprintf
:
nbytes = fprintf(___)
returns the number of bytes thatfprintf
writes, using any of the input arguments in the preceding syntaxes.
那么发生的事情是 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)
formats the data in arraysA1
,...,An
according toformatSpec
in column order, and returns the results to stringstr
.
fprintf(fileID,formatSpec,A1,...,An)
applies theformatSpec
to all elements of arraysA1
,...An
in column order, and writes the data to a text file.fprintf
uses the encoding scheme specified in the call tofopen
.
fprintf(formatSpec,A1,...,An)
formats data and displays the results on the screen.
因此 disp(sprintf())
或 fprintf
对于在屏幕上显示文本是相等的,但是如果你想将结果存储在一个字符串中你必须使用 sprintf
并且如果你想将其写入您必须使用的文本文件 fprintf
.