3

简单地使用\r不起作用,因为它被作为新行处理:

>> fprintf('a\rb');
a
b>> 

那么打印回车的正确方法是什么,这样我就可以更新信息而不会在屏幕上收集整个垃圾。

4

2 回答 2

4

这是一个解决方案,显然不如 a 干净\r

nchar = fprintf('abcd');
fprintf(repmat('\b', 1, nchar));
fprintf('ABCD');

例如在一个循环中:

for k=1:10,
    nchar = fprintf('Processing %d of %d', k, 10);
    pause(0.10);
    fprintf(repmat('\b', 1, nchar));
end
于 2013-07-15T22:50:09.693 回答
0

\n 或 char(10) 应该可以解决问题!

如果您尝试为 guis 执行此操作,我建议您执行以下操作:

['FIRST LINE' char(10) 'SECOND LINE'] 等等。

或者我认为 sprintf 将能够为您执行“\n”,但我对此并不积极。

如果在 GUIDE 中,在属性检查器的字符串部分,您实际上可以双击一个编辑框来执行新的行,起初它有点令人困惑。

于 2013-07-15T20:35:24.273 回答