简单地使用\r
不起作用,因为它作为新行处理:
>> fprintf('a\rb');
a
b>>
那么打印回车的正确方法是什么,这样我就可以在不收集屏幕上的垃圾的情况下更新信息。
答案 0 :(得分:3)
这是一个解决方案,显然不像\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
答案 1 :(得分:0)
\ n或char(10)应该做到这一点!
如果你想为guis做这件事,我建议如下:
['FIRST LINE'char(10)'SECOND LINE']等。
或者我认为sprintf能够为你做“\ n”,但我对此并不乐观。
如果在GUIDE中,在属性检查器的字符串部分,您实际上可以双击一个将执行新行的编辑框,这在一开始就有点令人困惑。